1.用户理解
用户就是系统使用者的身份,用户以数据身份存在。在系统中用户存储为若干窜字符+若干个系统配置文件。
用户信息涉及到的系统配置文件:
(1)/etc/passwd ###用户信息
用户:密码:uid:gid:说明:家目录:用户使用的shell
如下图所示,在shell窗口输入 cat /etc/passwd即可查出用户的信息
(2)/etc/shadow ###用户认证信息
用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
如下图所示,输入cat /etc/shadow即可查出用户认证信息。
(3)/etc/group ###组信息
组名称:组密码:组id:附加组成员
如下图所示,输入cat /etc/group即可查出组信息。
(4)/etc/gshadow ###组认证信息
如下图所示,输入cat /etc/gshadow即可查出组认证信息。
(5)/home/username ###用户家目录
(6)/etc/skel/.* ###用户骨架文件
如下图所示,输入cat /etc/skel/.*即可查出用户骨架文件。
注意:/etc/skel/这个目录中的所有文件或目录
2.用户管理
(1)用户建立
useradd 参数 用户名字
-u ##指定用户uid
如下图所示,建立一个用户,并指定uid为888。
-g ##指定用户初始组信息,这个组必须已经存在
如下图所示,建立一个用户,并指定初始组为linux。
-G ##指定附加组,这个组必须存在
如下图所示,建立一个用户,并指定附加组的id为21。
-c ##用户说明
如下图所示,新建用户,用户说明为westos user。
-d ##用户家目录
如下图所示,建立一个用户,并指定家目录为/mnt/westos
-s ##用户所使用的shell,/etc/shells记录了用户能使用shell的名字
如下图所示,建立一个用户,并指定用户能使用的shell名字为/bin/tcsh。
##用户和组的id须一致,否则提示组不存在。
## 用户名不要为数字。数字的id与bin相同,用户名为数字时用户id的显示为bin。
useradd -s /sbin/nologin westos ##新建用户westos,并禁止该用户交互登陆
如图所式,新建用户westos,然后切换到用户westos,系统提示该用户不可用
shell类型查询:cat /etc/shells
(2)用户删除
userdel -r 用户名称 ##-r表示删除用户信息及用户的系统配置
如下图所示删除用户必须加上参数-r,否则会留下用户的系统配置。
(3)组的建立
groupadd -g ##建立组
groupdel 组名字 ##删除组
组的存在意义是共享权限,组分为初始组(1个)和附加组(多个)。
作以上实验的监控命令:
watch -n 1 ‘tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt’
(4)用户id信息查看
id 参数 用户
-u ##用户uid
-g ##用户初始组id
-G ##用户所有所在组id
-n ##显示名称而不是id数字
-a ##显示所有信息
如下图所示,id -a westos即可显示该用户的所有信息;加上参数-u、-g、 -G分别可查询用户的uid、初始组id、所有所在组id
(5)用户信息更改
usermod 参数 用户
-l ##更改用户名称
-u ##更改uid
-g ##更改gid
-G ##更改附加组
-aG ##添加附加组
-c ##更改说明
-d ##更改家目录指定
-md ##更改家目录指定及家目录名称
-s ##更改shell
-L ##冻结帐号
-U ##解锁
注意:(1)passwd -l 用户 ##冻结帐号,使用usermod -u 用户解锁需要使用该命令两次。而passwd -u 用户执行一次就可以解锁。如下图所示
(2) passwd -u 用户 ##解锁
usermod命令及参数使勇如下图所示。
3.用户权力下放
(1)在系统中超级用户可以下放普通用户不能执行的操作给普通用户
下放权力配置文件:/etc/sudoers
(2)下放权力的方法
*)超级用户执行visudo进入编辑/etc/sudoers模式
*)格式:
获得权限用户 主机名称=(获得到的用户身份) 命令
test desktop0.example.com=(root) /usr/sbin/useradd
test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd
root用户执行visudo进入到/etc/sudoers文件,开始进行下放权力操作,添加内容如下图中的第100及101行。
(3)执行下放权限命令
sudo 命令 ##如果第一次执行sudo需要输入当前用户密码
在/etc/sudoers中如果设置如下:
test desktop0.example.com=(root) NOPASSWD: /usr/sbin/useradd
表示用户调用sudo命令的时候不需要自己密码
当我们编辑结束保存文件后,即可使用下放的权力,如下图所示。
4.用户认证信息的控制
chage 参数 用户
-d ##用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
-m ##最短有效期
-M ##最长有效期
-W ##警告期
-I ##用户非活跃天数
-E ##帐号到期日格式 -E "YYYY-MM-DD"
chage命令及参数的使用如下图所示。
当使用-m参数将最短有效期修改为1(表示需要在一天之后才能修改密码),立即修改密码就会得到如下提示,表示需要等一段时间才能改密码。
5.root密码忘记
操作程序如下:
1.重新启动系统
2.在系统启动阶段按上下健停止系统系统引导
3.选择启动引导标题,按“E”进行编辑
按E进入如下图所示界面。
4.找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项
修改后的结果如下图所示。
5.ctrl+x启动设定过后的系统引导条目
6.进入系统后执行chroot /sysroot切换到真实的系统环境
7.passwd root修改超级用户密码
8.建立文件/.autorelabel让系统从新扫描所有文件(touch /.autorelabel)
9.exit两次使系统自动重新启动
第6-9步的操作如下图所示。