1.用户理解
用户就是系统使用者的身份
在系统中用户存储为若干个字符+若干个系统配置文件
用户信息涉及到的系统配置文件:
/etc/passwd 用户信息
root: x :0 : 0 :root : /root :/bin/bash
用户:密码:uid:gid:说明:家目录:用户使用的shell
参数 -u -g -c -d -s
/etc/shadow 用户信息
用户:密码:最后一次密码修改该时间:最短有效期:最长>有效期:警告期:非活跃期:帐号到期日
/etc/group #组信息
组名称:组密码:组id:附加组成员
/etc/gshadow #组认证信息
/home/username #用户家目录
/etc/skel/.* #用户骨架文件
注意:/etc/skel 这个目录中的所有文件或目录在用户新建的过错中会被复制到用户的家目录中
这个目录中默认存在的隐藏文件是用户的默认配置
2.用户管理
用户建立
useradd 参数 用户名字
-u 指定用户的uid
-g 指定用户的初始组信息,这个组必须存在
-G 指定附加组,这个组必须存在
-c 用户说明
-d 用户家目录
-s 用户所使用的shell,/etc/shells记录了用户能使用shell的名字
操作:useradd -u 666 -g1008 -G 1003 -c lixuan -s /sbin/bash
用户删除
userdel -r 用户名称
-r 表示删除用户信息及系用户的系统配置
操作:上边建立file1这个用户现在用命令删除
3.组的建立
groupadd 建立组
操作:用建立组的命令建立了linux和建立一个加上参数-g指定他的组id为666的两个组
groupdel 删除组
操作:把刚才建立的linux和linux2删除
作以上实验时监控命令为:
watch -n 1 ' tail -n 5 /etc/passwd /etc/group ;ls -l /home '
意思为监控/etc/passwd /etc/group 的后5行显示,查看/home 为每1秒刷新一次
用户id信息查看
id 参数 用户
-u 用户uid
-g 用户初始组id
-G 用户所有所在组id
-n 显示名称而不是id数字
-a 显示所有信息
操作:所有的参数加上做实验
用户信息更改
usermod 参数 用户
-l 更改用户名称
-u 更改uid
-g 更改gid
-G 更改附加组
-aG 添加附加组
-c 更改说明
-d 更改家目录指定
-md 更改家目录指定及家目录名称
-s 更改shell
-L 冻结帐号
-U 解锁
操作:各种用户信息更改加上参数
-l
-u
-g
-G
3.用户权力下放
在系统中超级用户可以下放普通用户不能执行的操作给普通用户
下放权力配置文件:/etc/sudoers
下放权力的方法:
超级用户执行visudo进入编辑/etc/sudoers模式
格式:
获得权限用户 主机名称=(获得到的用户身份) 命令
test desktop0.example.com=(root) /usr/sbin/useradd
test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd
执行下放权限命令
sudo 命令 ##如果第一次执行sudo需要输入当前用户密码
在/etc/sudoers中如果设置如下:
test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd
表示用户调用sudo命令的时候不需要自己密码
操作:下方权限后用linux用户建立一个hello后需要密码
操作:下方权限后用linux用户建立一个westos不提示需要密码
4.用户认证信息的更改
passwd 用来修改用户认证信息
如果是超级用户不许要知道原来密码,直接修改,没密码强度限制
passwd linux
如果是普通用户需要输入原始密码
密码不能少于8个字符,不能是纯数字>,不能是纯字母
root情况下
passwd -S 用户 查看用户密码信息
passwd -d 用户 删除用户密码
passwd -l 用户 冻结帐号密码
passwd -u 用户 解锁用户
passwd -e 用户 更改密码默认使用天数
passwd -x 用户 密码最长有效期
passwd -n 用户 密码最短有效期
passwd -w 用户 密码过期前警告期
passwd -i 用户 密码非活跃天数
passwd --stdin 用户 非交互式更改用户密码
例如:
echo lixuan | passwd --stdin linux
chage 参数 用户
-d 用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
-m 最短有效期
-M 最长有效期
-W 警告期
-I 用户非活跃天数
-E 帐号到期日格式 -E "YYYY-MM-DD"
Root密码忘记
1.重新启动系统
2.在系统启动阶段按上下健停止系统系统引导
3.选择启动引导标题,按“E”进行编辑
4.找到linux16引导条目这一行,从这行最后删除到ro选项>,并把ro改为rw,然后添加rd.break选项
5.ctrl+x启动设定过后的系统引导条目
6.进入系统后执行chroot /sysroot切换到真实的系统环境
7.passwd root修改超级用户密码
8.建立文件/.autorelabel让系统从新扫描所有文件
9.exit两次使系统自动重新启动