一、用户理解
用户即为系统使用者的身份,在系统中,用户存储为若干串字符+若干个配置文件
用户信息涉及到的系统配置文件如下:
如上图,/etc/passwd 表示用户信息
用户:密码:uid:gid:说明:家目录:用户使用的shell
/etc/group 表示组信息
组名称:组密码:组id:附加组成员
如上图,/etc/shadow 表示用户认证信息
用户:密码:最后一次修改密码的时间:最短有效期:最长有效期:警告期:非活跃期:账号到期日
注:最后一次修改密码的时间和账号到期日显示均为距离1970年1月1日的天数
另:
/etc/gshadow 表示组认证信息
/home/username 表示用户家目录
/etc/skel/.* 表示用户骨架文件
二、用户理解
1.用户建立
useradd 参数 用户名
具体参数如下:
-u:表示指定用户uid
-g:表示指定用户初始组信息,但这个组必须已经存在
-G:表示指定附加组,但这个组必须已经存在
-c:表示用户说明
-d:表示用户家目录
-s:表示用户所使用的shell,利用cat /etc/shells可查看用户所能使用的shell名称
注:若需要禁止某个用户不能交互式登陆,则可修改用户所使用的shell,如useradd -s /sbin/nologin username
此图为-u、-g、-G的操作示例
此图为-c、-d、-s的操作示例
如上图表示用户所能使用的shell,其中nologin的为系统配置专项使用
2.用户删除
userdel -r 用户名 (-r表示删除用户信息及用户的系统配置)
3.组的建立及删除
groupadd -g 数字 表示建立组
groupdel 组名 表示删除组
注:实验监控命令:watch -n 1 'tail -n 5 /etc/passwd /etc/group;echo====;ls -l /home'
4.用户id信息查看
id 参数 用户
具体参数如下:
-u:表示用户uid
-g:表示用户初始组id
-G:表示用户所在组id
-n:表示显示名称而不是id数字
-a:表示显示所有信息
5.用户信息更改
usermod 参数 用户
具体参数如下:
-l:表示更改用户名称
-u:表示更改uid
-g:表示更改gid
-G:表示更改附加组
-aG:表示添加附加组
-c :表示更改说明
-d:表示更改家目录指定
-md :表示更改家目录指定及家目录名称
-s:表示更改shell
-L:表示冻结帐号
-U:表示解锁
注:passwd锁定用户,利用usermod -U解锁时,需要解锁两次,因此passwd级别较高
三、用户认证信息的控制
chage 参数 用户
具体参数如下:
-d:表示用户密码最后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码
-m:表示最短有效期
-M:表示最长有效期
-W:表示警告期
-I:表示用户非活跃天数
-E:表示帐号到期日格式 (-E "YYYY-MM-DD")
四、用户权利下放
1.在系统中超级用户可以下放权力给普通用户执行普通用户不能操作的命令,下放配置文件为:/etc/sudoers
2.下放权力的方法
2.1 超级用户执行visudo命令,进入编辑/etc/sudoers模式
注:visudo可以检测语法是否出错
vim /etc/sudoers检测不到语法错误
2.2 编辑格式:获得权限用户 主机名称=(获得到的用户身份) 命令
如上图,表示linux用户能在localhost上以超级用户身份执行/usr/sbin/useradd,/usr/sbin/userdel
2.3 执行下放权限命令
sudo 命令 (如果第一次执行sudo需要输入当前用户密码)
如上图,在/etc/sudoers中设置,表示用户调用sudo命令时不需要自己的密码
##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两次使系统自动重新启动