前序:
用户存在的意义:用户存在的意义是分配权限,管理系统,不同的用户对应不同的权限
用户组的意义:将权限相同的一组用户分配到一个用户组里边,实现了权限的共享。
用户在系统中的存储方式
etc/passwd ##用户信息文件:用户名:密码:uid:gid:说明:家目录:默认shell
/etc/group ##用户组信息文件:组名:组密码:组id:组成员
/etc/shadow ##认证信息文件
/etc/gshadow ##用户组认证信息文件
/etc/skel/.* ##默认配置shell的配置,用户的骨文件
/home/username ##用户的家目录
用户查看
whoami 查看当前用户是谁
id 查看指定用户的id信息
-u 查看用户的uid
-g 查看用户的gid
-G 查看用户所在组的id
-h 表示名字而不是数字
用户切换
gome-session-quit --force ##注销当前用户
su + 用户 ##切换用户,但是之前用户的环境不变
su - 用户 ##切换用户,并切换至当前用户的环境下边
注意:每次su切换之其他用户后,必须退出否则会出错
用户及用户组管理
1、添加用户
1)、用户信息监控命令: watch -n 1 'tail -n 3 /etc/passwd /etc/group;ls -l /home'
2)、useradd ##建立用户的,建立用户时,读取/etc/login.defs 文件内容确定规则
useradd -u 8888 westos ##指定用户uid
useradd -g 21 westos ##指定用户初始组id,"21用户组必须是存在的"
useradd -G 21 westos ##指定用户的附加组id “21用户组必须存在”
useradd -c "hello" westos ##指定用户的说明
useradd -d /home/lee westos ##指定用户的家目录
useradd -s /bin/bash westos ##指定用户的默认shell
2、删除用户
userdel
userdel 用户名 ##删除用户,但不删除用户的配置文件
userdel -r 用户名 ##删除用户及其用户的配置文件
3、添加和删除用户组
groupadd + 用户组名 ##添加一个用户
groupadd -g 333 + 组名 ##指定用户组id
groupdel ##删除用户组
4、更改用户信息
usermod -l 新名称 westos ##更改用户的名称
usermod -u 6666 westos ##更改用户uid
usermod -g 21 westos ##更改用户的初始组
usermod -G 21 westos ##更改用户的附加组
usermod -aG 72 westos ##添加用户的附加组
usermod -G "" westos ##删除用户所有附加组的身份
usermod -c "hahh" westos ##指定用户说明文字
usermod -d /home/le westos ##更改用户家目录的指向
usermod -md /home/le westos ##更改用户家目录
usermod -s /bin/sh westos ##更改用户的shell
usermod -L westos ##冻结用户
usermod -U westos ##解锁用户
5、用户认证信息
/etc/shadows ##记录用户认证信息
westos:!!:17895:0:99999: 7: : :
[1] [2] [3] [4] [5] [6][7] [8] [9]
[1]: 用户名
[2]: 用户名(如果出现"!",表示用户被冻结)
[3]: 用户密码最后一次被更改的时间:此时间计算是从1970-1-1开始计算的累计天数
[4]: 用户密码最短有效期
[5]: 用户密码最长有效期:用户必须在此有效期内更新密码,如果超时会被冻结
[6]: 密码警告期限:在过期前制定天数内会发送警告信息给用户
[7]: 用户非活跃天数:此位默认为空,如果设定数值,那么在密码最长有效期过后仍然可以使用的天数
[8]: 用户到期日:默认为空,表示帐号一定会被冻结的时间点
[9]: 用户自定义列,目前没有启用
6、用户密码设置
passwd westos ##更改westos密码
passwd -l westos ##在用户密码前加入“!!”
passwd -u westos ##启用已被停止的账户
usermod -L westos ##在用户密码前加入“!”
usermod -U westos ##在密码不为空时使用
passwd -d westos ##清空westos密码
超级用户修改密码:
普通用户修改密码:
注意:普通用户改密码时
1.必须知道当前用户原始密码
2.密码不能和帐号名称相似
3.密码不能是纯数字或纯字母
4.密码不能是有序的字母和数字的组合
修改密码的属性
#用户密码最后一次被更改的时间
passwd -e westos ##会改变用户最后一次更改密码时间为0.
##用户在登陆时会被强制更改密码
chage -d 0 westos ##与passwd -e westos功能类似
#用户密码最短有效期
passwd -n 1 westos ##westos用户在1天之内不能修改密码
chage -m 1 westos
#用户密码最长有效期
passwd -x 30 westos ##设定westos在30天内必须改密码
chage -M 40 westos
#密码警告期限
passwd -w 2 westos ##密码过期前两天有警告输出
chage -W 2 westos
#用户非活跃天数
passwd -i 1 westos ##密码过期后仍可登陆系统的天数
chage -I 1 westos
#用户到期
chage -E 20181111 westos ##westos用户在2018-11-11日会被冻结
#用户自定义列,目前没有启用