搞定Linux运维——用户管理

1、用户及用户组存在的意义

  系统资源是有限的,如何合理分配系统资源?
  解决问题必须要有连个资源配合,3A机制组成系统当中最底层的安全架构
    1.身份  account
    2.授权  author
    3.认证  authentication

  用户组存在意义:用户组是一个逻辑容器,对用户进行归类和统一授权

2、用户及用户组在系统中的存在方式

用户就是/etc/passwd文件中的一行字符
ID+名称  查看用户,必须要记录到文件中用户才能存在
     如果用户不存在,可以在passwd中编辑添加
搞定Linux运维——用户管理

3、用户的查看和切换

1)用户查看
whoami  查看当前用户
id  查看用户id信息
  -u  查看用户的用户id
  -g  查看用户主组id
  -G  查看用户所有组id
  -n  显示名称(配合以上字符使用)
注意:在/etc/group文件中某一行后加入用户,则用户也包含在这一用户组中
搞定Linux运维——用户管理
2)用户切换
su – 用户名   切换用户环境
注意:如果用户由root->commonuser不需要后者密
   如果commonuser->root需要后者密码
   如果com->com需要密码
exit 退出,做完切换后用完用户身份请及时退出,
注意:不要在一个shell中反复执行su命令,在一个shell中反复执行su命令会导致环境pwd错乱

4、用户涉及到系统配置文件

/etc/passwd   用户身份信息文件
用户名称:用户密码:用户id:用户主组id:用户说明:用户家目录:用户默认shell搞定Linux运维——用户管理
/etc/group   组身份文件
组名称:组密码:组ID:组的附加成员
搞定Linux运维——用户管理
/etc/skel/.*  用户环境配置文件模板,建立用户时这里面所有文件都会复制到用户家目录
/etc/shadow   用户认证信息文件(后续详解)
/home/username 用户家目录

5、用户及用户组的建立及删除

监控用户建立的操作:
打开一个shell,改到root用户,做监控界面,
输入watch -n 1 “tail -n 4 /etc/passwd /etc/group;echo ===;ls -l /home” 每秒钟执行一次
搞定Linux运维——用户管理
再打开一个窗口ctrl+shift+n,进行用户建立

useradd [ ] username  用户建立
    -u id   uid范围 0-65535,0表示超级用户,1-200系统预留id,201-999系统用户,1000-60000用户级用户,/etc/login.defs 记录用户建立的规则
     -g id     主组id
    -G id      附加组id
    -d dir     指定用户家目录
    -c word      指定用户说明文字
    -s shell    指定用shell

Userdel -r username  用户删除
           -r 删除用户系统配置文件
搞定Linux运维——用户管理
groupadd [] groupname 组建立
    -g id 指定组id

Groupdel groupname   组删除

6、用户和用户组的信息管理

usermod [] 用户  更改用户信息
    -l 更改用户名称
    -u 更改用户id
    -g 更改主组id
    -G 更改附加组id
    -aG 添加多个用户附加组id
    -c 更改用户说明
    -d 更改家目录指向
    -md 更改家目录同时更改家目录名称
    -s  更改默认shell

groupmod -g  更改用户组id
搞定Linux运维——用户管理

7、用户认证信息

监控:watch -n 1 tail -n 1 /etc/shadow ; echo “”===status===“ ;passwd -S lee

1)用户名称
passwd -S lee查看密码状态
搞定Linux运维——用户管理
2)用户加密字符
更改密码
passwd lee 只有root可以执行 或执行echo 123 | passwd –stdin lee
passwd 普通用户改密码,输入原始密码和新密码,8位以上数字字母组合
搞定Linux运维——用户管理
冻结认证
passwd -l lee   冻结账号认证
passwd -u lee   解锁账号认证
搞定Linux运维——用户管理
密码删除
passwd -d lee
搞定Linux运维——用户管理
3)密码使用天数,从1970年1月1日算起到今天的时间
passwd -e lee 修改默认使用时间为0
chage -d 0 lee 修改默认使用时间为0,账号必须修改密码
密码最短有效期
passwd -n 1 lee 1天不能改密码,普通长湖
chage -m 1 lee
密码最长有效期
passwd -x 40 lee 40天内必须改密码,不然冻结
chage -M 40 lee
密码过期警告
passwd -w 2 lee 账号过期前警告时间
chage -W 1 lee
认证非活跃天数
passwd -i 2 lee  账号认证最大时间超过后还能用多久
chage -I 1 lee
账号到期时间
chage -E “2020-05-11”

未启用

8、用户权力下放

在系统中普通用户是无法执行系统管理命令的,如果需要普通用户执行那么需要root用户来授权。

普通用户授权方式“sudo”,可以使普通用户使用指定的用户身份运行命令

授权方法:visudo
  此命令作用是编辑 /etc/sudoers并提供语法检测(注意代码规范性,在文件的100行左右,Set nu可以显示文件行数)
username hostname=(newusername)[NOPASSWD:] /command, /command1

  • 示例:编辑visudo文件
    localhost.localdomain主机=(用超级用户身份)免密执行useradd命令
    lee localhost.localdomain=(root) NOPASSWD: /usr/sbin/useradd
    搞定Linux运维——用户管理

练习搞定Linux运维——用户管理

1.groupadd -g 8000 shengchan
Groupadd -g 8001 caiwu
Groupadd -g 8002 jishu
2.useradd -G shengchan,jishu westos
useradd -u 8001 -g 8001 lee
useradd -s /sbin/nologin -M linux
useradd westosadmin
visudo
westosadmin linux.westos.com=(root) NOPASSWD: /usr/sbin/usermod
3.echo westos | passwd –stdin lee
passwd -e lee
passwd -x 30 lee
passwd -w 2 lee