linux系统基本命令(五)
一.用户理解
用户就是系统使用者的身份
在系统中用户存储为若干窜字符+若干个系统配置文件
用户信息涉及到的系统配置文件:
/etc/passwd ###用户信息
用户:密码:uid:gid:说明:家目录:用户使用的shell
/etc/shadow ###用户认证信息
用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group ###组信息
组名称:组密码:组id:附加组成员
/etc/gshadow ###组认证信息
/home/username ###用户家目录
/etc/skel/.* ###用户骨架文件
注意:/etc/skel/ 这个目录中的所有文件或目录在用户新建的过程中会被复制到用户的加目录里
##这个目录默认存在的隐藏文件时用户的默认配置文件
二.用户管理
1.用户建立
useradd 参数 用户名字
-u ##指定用户 uid
-g ##指定用户 初始组 信息,这个组必须 已经存在
-G ##指定 附加组,这个组必须存在
-d ##用户家目录
-s ##用户所使用的shell,/etc/shells记录了用户能使用shell的名字
2.用户删除
userdel -r 用户名称 ###-r表示删除用户信息及用户的系统配置
注意:删除用户时同时删除组的条件
1>用户跟组名字相同
2>组中只有唯一用户3>用户与组id相同
4>组为用户初始组 附加组无法删除
3.组的建立
groupadd -g ##建立组 (组:为了共享权力)
作以上实验的监控命令:
watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home'
4.用户id信息查看
id 参数 用户
-u ##用户uid
-g ##用户初始组id
-G ##用户所有所在组id
-n ##显示名称而不是id数字
-a ##显示所有信息
5.用户信息更改
-l ##更改用户名称 usemod -l 新名字 旧名字
-u ##更改uid usemod -u 新ID 用户名
-g ##更改gid 同上
-G ##更改附加组 取消之前附加组
-aG ##添加附加组 不改变之前附加组
-c ##更改说明 usermod -c "说明文字" 用户名
-d ##更改家目录指定 新指定家目录 不改变真实家目录 usermod -d 目录 用户
-s ##更改shell
-L ##冻结帐号 passwd -l 强度大于usermod
-U ##解锁
三.用户权力下放
1.在系统中超级用户可以下放普通用户不能执行的操作给普通用户下放权力配置文件:/etc/sudoers
2.下放权力的方法
*)超级用户执行visudo进入编辑/etc/sudoers模式
获得权限用户 主机名称=(获得到的用户身份) 命令
graduate localhost=(root) /usr/sbin/useradd
graduate用户能在localhost以超级用户身份执行/usr/sbin/useradd
3.执行下放权限命令
sudo 命令 ##如果第一次执行sudo需要输入当前用户密码
在/etc/sudoers中如果设置如下:
test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd
表示用户调用sudo命令的时候不需要自己密码
四.用户认证信息的控制
chage 参数 用户
-d ##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
-M ##最长有效期
-W ##警告期
-E ##帐号到期日格式 -E "YYYY-MM-DD"
五.root密码忘记
1.重新启动系统 restart
2.在系统启动阶段按上下健停止系统系统引导
3.选择启动引导标题,按“E”进行编辑
4.找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项
删多了时候 安esc 推出 重新进入 ## 终止启动
5.ctrl+x启动设定过后的系统引导条目
6.进入系统后执行chroot /sysroot切换到真实的系统环境
7.passwd root修改超级用户密码
8.建立文件/.autorelabel让系统从新扫描所有文件
9.exit两次使系统自动重新启动