1.用户管理基础
用户存在的意义:限定权力
用户组存在得意义:开放权力
1.查看当前用户
whoami #查看当前用户
2.系统中用户的查看
id:用户身份的唯一表示
id
-u ##查看用户uid
-g #查看用户的初始组gid
-G #查看用户所在的所有组的id
-n #查看名字而不显示id数字,需要与其他命令组合使用
示意图:
3.用户切换
su - 用户名 #-表示用户身份切换时同时切换环境变量:保证所使用的工具都能存在环境变量里,可用相对路径寻找
su - 执行时,高级用户切换到低级用户时,不需要密码;低级用户切换到高级用户需要;平级用户相互切换也需要密码
示意图:
注意:
每次su切换到其他用户操作之后,必须退出。然后再次切换到其他用户
ctrl+d=logout 退出当前用户身份
exit=poweroff 关闭身份退出 #错误使用语句su student,必须使用exit
2.用户在系统中的存储方式
1./etc/passwd
用户信息文件:七段
用户名称:密码(保留这一位,但不用):uid:gid(初始组):说明(用户登陆窗口显示):家目录:默认shell
示意图:
2./etc/group
用户组信息
组的名字:组密码:组id:组成员
示意图:
3./etc/shadows
认证信息文件
用户名称
用户密码
用户密码最后一次被更改的时间
密码最短有效期:时间内不能修改密码
密码最长有效期:时间内必须更改一次
密码警告期限
密码非活跃期限:帐号被冻结前
密码到期日:帐号存在,
用户自定义位置,目前没有启用
修改shadow时,不会修改/etc/passwd的内容
!!用户 #用户不能修改密码
! pass -l westos #解锁westos
!! usermod -U westos
示意图:
- /etc/skel/.*
用户的骨文件,默认开启shell的配置
- /home/username
用户的家目录
3.用户信息管理
1.用户删除
userdel
userdel student #删除用户student但不删除用户的配置文件
userdel -r student #删除用户student及其所有配置文件
2.用户建立
用户信息监控命令
watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home' #以1秒重复后面的命令,home下面会有用户家目录(“;”表示多条命令可在一行,存在先后顺序)
-->打开另一个shell
-->useradd username
-->显示会变化
示意图:
注意:
超级用户id 0
普通用户id >&=1000
3.新建用户
建立用户时,读取/etc/login.defs 文件内容确定规则
useradd
建立一个用户时,也会创建一个组,组id和用户gid相同
使用以下语句时,需要先删除用户才能进行下一个参数修改
usersdd -u uID/8888 username #指定用户的UID为8888
useradd -g gID/21 用户名 #指定用户初始组id ,‘21’用户组必须存在
useradd -G GID/21 用户名 #添加到附加组“21”(初始组也存在),“21”用户组必须存在&id 用户名 #查看用户ID
useradd -c "hello" 用户名 #添加说明“hello”
usedadd -d /home/lee 用户名 #修改家目录/home/lee
useradd -s /bin/sh 用户名 #指定用户的默认shell
注意:
初始组和附加组都需要存在
4.新建用户组
groupadd
groupadd -g 888 组名 #建立用户组并指定组的id(不能是已经存在的组id)
groupdel 组名 #删除用户组
5.修改用户信息
usermod
usermod -l 新名称 westos #更改用户名称为新名称
usermod -u 6666 westos #更改用户uid
usermod -g 21 westos #更改用户初始组
usermod -G 1000 westos #更改进附加组组id=1000
usermod -aG 72 westos #添加附加组id=72
usermod -G “” westos #删除所有附加组
usermod -c “family” westos #指定用户说明文字
usermod -d /home/sheen westos #更改用户家目录的指向,不会更改家目录名字
usermod -md /home/sheen westos #更改用户家目录+指向
usermod -s /bin/sh westos #修改用户默认的shell
userond -L westos #锁定用户后,普通用户之间不能交互
usermod -U westos #解锁用户
示意图:
添加密码-->passwd westos-->log out
usermod -s /usr/sbin/nologin westos ##退出系统重新登陆时,系统拒绝被westos访问,不能登入
示意图:
4.用户认证管理
密码是认证信息的一部分
/etc/shadow #认证信息文件
此文件一共有九个参数(参数以冒号结束)
1.用户名称
2.用户密码
passwd westos #更改用户密码
passwd -l westos #用户密码前加入“!!”
passwd -u westos
usermod -L westos #用户密码前加入“!”
usermod -U westos
passwd -d westos #清空用户密码
示意图:
注意:
普通用户改密码时
1.必须知道账户原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或纯字母
4.密码不能是有序的字母和数字的组合
普通用户不能相互修改密码
!! #用户不能修改密码
注意密码是否锁定,锁定时需要先解锁,才能修改密码
3.用户密码最后一次被更改的时间
最近一次密码被修改的时间
passwd -e westos #会改变用户最后一次更改密码时间为0,强制修改密码后,才能进系统,只执行一次
chage -d 0 westos #两个命令功能类似
4.密码最短有效期
这段时间内不能修改密码
passwd -n 1 westos #用户在一天之内不能修改密码
chage -m 1 westos #类似
5.密码最长有效期:
这段时间内密码必须更改一次
passwd -x 30 westos #设定用户30天内必须改密码
chage -M 30 westos #类似
6.密码警告期限
密码失效前的提醒天数
passwd -w 2 westos #密码过期前两天有警告输出
chage -W 2 westos #类似
7.密码非活跃期限
帐号被冻结的时间,最小为0
passwd -i 1 westos #密码过期后仍可登录系统的天数2天
chage -I 1 westos #类似
8.密码到期日
超过限定时间,用户会被冻结
chage -E 2018-11-11 westos #用户会在2018-11-11会被冻结
9.用户自定义位置,目前没有启用
示意图:
5.用户授权管理
/etc/sudoers #用户授权配置文件
1.授权配置命令
visudo #与vim不同,在修改文件内容时会有语法报错,
2.规范操作
在文件100行左右添加:
普通用户 主机名称=(转换成的新用户身份) 命令1, 命令2, ...
普通用户 主机名称=(转换成的新用户身份) NOPASSWD: 命令
示例:
westos desktop0.example.com=(root) /usr/sbin/useradd, /user/sbin/userdel #执行命令不需要密码
westos desktop0.example.com=(root) NOPASS: /usr/sbin/useradd, /user/sbin/userdel #免密执行
su - westos
sudo useradd hello #修改sudo文件需要加路径,调用命令时不用
hostname #查看本机名称
示意图:
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。