一、用户理解
用户就是系统使用者的身份,在系统中用户存储为若干串字符和若干个系统配置文件。用户的常用配置文件有:
/etc/passwd :用户配置信息文件
用cat查看,内容为当前系统中所有用户的配置信息。
配置信息以冒号分隔开,依次为:用户:密码:uid:gid:说明:家目录:用户使用的shell
/etc/shadow :用户认证信息
用户认证信息以冒号分隔开,依次为:用户:密码:最后一次密码修改该时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日
/etc/group :组信息
组信息以冒号分隔,依次为:组名称:组密码:组id:附加组成员
/etc/gshadow:组认证信息;/home/username:用户家目录;/etc/skel/.*:用户骨架文件
二、用户管理
1、用户的建立
在Linux系统中只有超级用户才有权限建立新用户,新用户的建立用useradd实现。
(1)useradd -u 用户名:指定新建用户的uid
新建用户westos并指定其uid为21,如图所示。
(2)useradd -g 用户名:指定用户初始组信息,这个组必须存在
新建用户westos并指定其初始组为1001,如图所示
(3)useradd -G 用户名:指定用户附加组,这个组必须存在
新建用户westos并指定其附加组为1003,如图,该用户属于1003组中。
(4)useradd -c “内容” 用户名:指定用户说明
(5)useradd -d 目录名 用户名:指定用户家目录
(6)useradd -s 目录名 用户名:指定用户所使用的shell,可在/etc/shells中查看各种shell名称。
注意:useradd建立用户时,只能对用户进行一次操作,不可进行二次操作即不能对已建立的用户更改信息。
如图,对westos用户进行第二次useradd操作时,系统会提示该用户已存在,无法执行命令。若想同时指定新建用户多种信息,可用一次useradd实现,如useradd -u 888 -g 1001 westos
2、用户的删除
userdel -r 用户名:-r表示删除用户信息及用户的系统配置。
3、组的建立
groupadd -g :建立组
groupdel 组名:删除组
以上实验的监控命令为:watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo====;ls -l /home/'
4、用户id信息查看
(1)id -u 用户名:查看用户uid
(2)id -g 用户名:查看用户初始组id
(3)id -G 用户名:用户所有所在组id
(4)id -n(u,g,G) 用户名:显示用户uid或gid或所在组id的名称而不是数字
注意:-n不可以单独使用!!!!
(5)id -a 用户名:显示所有用户id所有信息
5、用户信息更改
(1)usermod -l :更改用户名称
(2)usermod -u :修改用户uid
(3)usermod -g :修改用户gid
(4)usermod -G :修改用户附加组id
(5)usermod -aG :添加附加组
(6)usermod -c :更改说明
(7)usermod -d :更改家目录指定
(8)usermod -md :更改家目录指定及家目录名称
(9)usermod -s :更改shell
(10)usermod -L :冻结账户
(11)usermod -U :解锁
注意:usermod -U 比 passwd -l 的等级低,若用户用psswd -l 锁定,需用两次usermod -U 才能解开。
三、用户权利下放
在系统中有些操作只有超级用户才有权限,而超级用户可以将这些权限下放给普通用户,普通用户得到权限后也能进行操作。
1、下放权利配置文件:/etc/sudoers
2、下放权利方法:*)超级用户执行visudo进入编辑/etc/sudoers模式
*)格式:
获得权限用户 主机名称=(获得到的用户身份) 命令
test desktop0.example.com=(root) /usr/sbin/useradd
test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd
3、执行下放权利:sudo 命令 ##第一次执行时需要输入命令
在/etc/sudoers中如果设置如下:
test localhost=(root) NOPASSWD:/usr/sbin/useradd 表示用户调用sudo命令的时候不需要自己密码
四、用户认证信息的控制
(1)chage -d :用户密码组下一次修改的时间
(2)chage -m :密码最短有效期(若不为0,则需在设定天数过后才能修改密码)
(3)chage -M :最长有效期
(4)chage -W :警告期
(5)chage -I :用户非活跃天数