用户管理
1.用户存在的意义
维护系统的安全;用户概念在系统中是系统安全机制的一部分。
2. 组存在的一意义
可以通过设置权限达到共享和开放权力的目的,方便了系统的管理。
3. 用户的查看
1)查看当前用户
whoami 查看当前用户
2)系统中用户的查看
id 查看指定用户id信息, uid是自己的id, gid是组id , groups是所有自己加入的组的id. 最初的组是初始组
命令 | 作用 |
---|---|
id -u | 查看用户的uid |
id -g | 查看用户的gid |
id -G | 查看用户所在的所有组的id |
id -n | 显示名字而不显示id数字,与其他命令联合使用 |
4. 用户切换
su - 用户名称 改变了用户名称和用户环境
su 用户名称 只改变用户的名称,未改变用户环境。
su - 中 “-” 标示在用户身份切换时同时切换当前用户的环境
su - 执行时高级用户切换到低级用户不需要密码,低级用户切换到高级需要,平级用户切换切换也需要。
图中可以看出目前是在root用户下,但当前环境仍在student.
**注意**:每次su切换到其他用户操作之后必须退出,然后再次切换到其他用户可以使用exit退出当前的用户。切换用户后要使用exit或logout或 ctrl+D再切换到另一个用户。
5. 用户在系统中的存储方式
文件名称 | 文件位置 | 文件格式 |
---|---|---|
用户信息文件 | /etc/passwd | 用户名称:密码:uid:gid:说明:家目录:默认shell |
用户组信息文件 | /etc/group | 组的名字:组密码:组id:组成员 |
认证信息文件 | /etc/shadows | |
默认开启shell的配置,用户的骨文件 | /etc/skel/. | |
用户的家目录 | /home/username |
我们为了可以方便查看可以使用watch -n 1 ‘tail -n 4 /etc/passwd /etc/group‘监控用户信息文件和用户组信息文件。
6. 用户管理命令
1)用户的删除
userdel
userdel student 删除用户但不删除用户的配置文件
userdel -r student 删除用户并删除用户的配置文件
2)用户建立
用户信息监控命令
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;ls -l /home’
用户名称:密码:uid:gid:说明:家目录:默认shell
-u -g -c -d -s
useradd 创建用户时,读取/etc/login.defs 文件内容确定规则
useradd -u 8888 westos 指定用户uid 默认从1000开始
useradd -g 21 westos 指定用户初始组id,“21用户组必须是存在的”
useradd -G 21 westos 指定用户的附加组id ,“21用户组必须存在”
useradd -c “hello” westos 指定用户的说明
useradd -d /home/lee westos 指定用户的家目录
useradd -s /bin/sh westos 指定用户的默认shell
groupadd 建立用户组
groupadd -g 888 建立用户组并指定用户组的id
groupdel 删除用户组
3)更改组名信息
groupmod -g id westos 可更改id
更改用户信息;
usermod
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 “hahahah” westos 指定用户说明文字
usermod -d /home/lee westos 更改用户家目录的指向
usermod -md /home/lee westos 更改用户家目录
usermod -s /bin/sh westos 更改用户的shell
7. 记录用户认证信息
此文件一共有九列:
用户名称:用户密码:用户密码最后一次被更改的时间(-e):用户密码最短有效期(-n):用户密码最长有效期(-x):密码警告期限(-w):用户非活跃天数(-i):用户到期日(-E):用户自定义列,目前没有启用
passwd -S westos 查看westos用户密码信息
tail -n 3 /etc/shadow; 查看westos用户密码信息
新用户的初始密码为!!
-
用户名称
用户密码 passwd
passwd westos 更改westos密码
passwd -l westos 在用户密码前加入“!!”
passwd -u westos 去掉用户密码“!!”
usermod -L westos 在用户密码前加入“!”
usermod -U 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 westos用户在1天之内不能修改密码 -
用户密码最长有效期
passwd -x 30 westos 设定westos在30天内必须改密码
chage -M 40 westos 设定westos在40天内必须改密码 -
密码警告期限
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日会被冻结
8. 权力下放
(1)权力下放文件/etc/sudoers
可使用vim直接编辑,但无语法检测
也可使用visudo有语法检测
(2)下方方式
visudo
100行左右
用户 主集名称=(得到的用户身份) 命令
tom localhost=(root) /usr/sbin/useradd
tom localhost=(root) NOPASSWD:/usr/sbin/useradd tom用户在主机下以root身份无密执行useradd。
(3)测试
su - tom
sudo useradd hello