Linux下的用户管理
1. 用户与用户组
用户(user):相当于私人空间,有利于系统的安全
用户组(Group):就是当你在团队开发资源的时候,且每个帐号都可以有多个用户组的支持
2.用户的查看
1.查看当前用户
whoami
2.系统中用户的查看
id ##查看指定用户的id信息
id -u ##查看用户的uid
id -g ##查看用户的gid
id -G ##查看用户所在组的id
id -n ##显示名字而不显示id数字
id-nG ##所在组的所有名字,包括附加组
3.用户的切换
1.注销当前用户
gnome-session-quit ##注销当前用户再用其他用户登陆
gnome-session-quit --force ##注销当前用户不提示
2.su -用户名
#su - 中“ - ” 表示在用户切换身份时,同时切换当前用户的的环境
#su - 执行时高级用户切换到低级用户不需要密码,但是在低级用户向高级用户切换时需密码,同级用户之间切换也需要密码
4.用户的管理命令
- 用户监控信息的命令
watch date ##监测时间
watch -n 1 date ##监测时间每一秒刷新一次
watch -n 1 "tail -n3 /etc/passwd /etc/group;ls -l /home "
1.用户的删除 userdel
userdel westos #删除用户但不删除用户的配置信息
userdel -r westos #删除用户并删除用户的配置文件
2.用户的建立
-
useradd #建立用户时,读取/etc/login.defs 文件内容确定规则
useradd -u 8888 westos #指定用户的uid
useradd -g 21 westos #指定用户初始组id
useradd -G 21 westos #指定用户组的附加组id
useradd -c "hello" westos #指定用户的说明
useradd -d /home/les westos #指定用户的家目录
useradd -s /bin/sh westos #指定用户的默认shell
3.用户组的建立和删除
- groupadd #建立用户组
- groupdel #删除用户组
4.更改用户的信息
usermod
usermod -l 新名称(gaoye) westos ##更改用户的新名称
usermod -u 6666 gaoye ##更改用户的idu
usermod -g 21 gaoye ##更改用户的初始组
usermod -G 1002 gaoye ##更改用户的附加组
usermod -aG 1001 gaoye ##添加用户的附加组
usermod -G "" westos ##删除用户所有附加组的身份
usermod -c "hahahah" westos ##指定用户说明文字
usermod -d /home/lee westos ##更改用户家目录的指向
usermod -md /home/lee 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]
westos
用户名称:
[2]
!!
用户密码:
用户的加密字符串,默认用的加密方式为sha512对称加密,
如果加密字符串前出现"!"那么用户被冻结
[3]
17895
用户密码最后一次被更改的时间:
此时间计算是从1970-1-1开始计算的累计天数
[4]
0
用户密码最短有效期:
如果此位有设定数字,那么在此数字范围内的天数内是不能修改用户密码的
[5]
99999
用户密码最长有效期:
用户必须在此有效期内更新密码,如果超时会被冻结
[6]
7
密码警告期限:
在过期前制定天数内会发送警告信息给用户
[7]
用户非活跃天数:
此位默认为空,如果设定数值,那么在密码最长有效期过后仍然可以使用的天数
[8]
用户到期日:
默认为空,表示帐号一定会被冻结的时间点
[9]
用户自定义列,目前没有启用
- 密码信息
passwd -S westos ##查看用户的密码信息
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 -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 2018-11-11 westos ##westos用户在2018-11-11日会被冻结
7.用户的授权
-
主机名
-
权力下方
权力下放文件为/etc/sudoers
此文件可以用vim直接编辑,但是不提供语法检测
也可以使用visudo编辑此文件,visudo命令是提供语法检测的 -
下方的方式
* visudo ##专门用来编辑/etc/sudoers文件 在100行左右
格式:用户 主机名称=(得到的用户身份) 命令
tom localhost=(root) /usr/sbin/useradd #tom用户可以在localhost主机以
##root用户身份执行useradd命令
tom localhost=(root) NOPASSWD: /usr/sbin/useradd ##tom用户可以在localhost主机以
#root用户身份免密执行useradd
- 测试
su - tom ##切换到其他用户
sudo useradd hello
sude uerdel file