这一节我们将学到用户的管理

想要学习用户的管理,首先要明白什么是用户。

用户就是系统使用者的身份

在系统中用户存储为若干串字符+若干个系统配置文件


1.涉及到用户信息的配置文件:

/etc/passwd                    ##用户信息

用户:密码:uid:gid:说明:家目录:用户使用的shell

/etc/shadow                    ##用户认证信息

用户:密码:最后一次密码修改时间:最短有效期:最长有效期:警告期:非活跃期:帐号到期日

/etc/group                     ##组信息

组名称:组密码:组id:附加组成员

/etc/gshadow                   ##组认证信息

/home/username                 ##用户家目录

/etc/skel/.*                   ##用户骨架文件


2.用户管理


建立用户:

useradd            参数            用户名字

                    -u        ##指定用户uid

                    -g        ##指定用户初始组信息,这个组必须已经存在

                    -G        ##指定附加组,这个组必须已经存在

                    -c        ##用户说明

                    -d        ##用户家目录

                    -s        ##用户所使用的shell,/etc/shells记录了用户能使用的shell的名字


删除用户:

userdel             -r          用户名称 -r表示删除用户信息及用户的系统配置


组的建立:

groupadd            -g        ##建立组

groupdel           组名字     ##删除组


做以上实验的监控命令:

watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ====;ls -l/mnt'


用户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        ##解冻账号


3.用户权利的下放

在系统中超级用户可以下放普通用户不能执行的操作给普通用户

下放权力配置文件:/etc/sudoers

方法:

超级用户执行visudo进入编辑/etc/sudoes模式

格式:

获得权限用户            主机名称=(获得到的用户身份)        命令

test           desktop0.example.com=(root)                /usr/sbin/useradd

test用户能在desktop0.example.com以超级用户身份执行/usr/sbin/useradd


获得了权限后就要执行刚刚获得的权限啦!这里的执行可不同于那些属于自己全县范围内的命令执行方法。我们需要

sudo  命令        ##如果第一次执行sudo需要输入当前用户的密码

想要不输入密码,可以在下放权限时这样操作:

test           desktop0.example.com=(root)          NOPASSWD:  /usr/sbin/useradd

加上 NOPASSWD: 就可以不用输密码啦


4.用户信息的修改

chage            参数            用户

                  -d             ##用户密码最后一次修改的时间,如果设为0,用户登录系统后                                     必须修改自己的密码

                  -m             ##最短有效期

                  -M             ##最长有效期

                  -W             ##警告期

                  -I             ##用户非活跃天数

                  -E             ##账号到期日期格式 -E "YYYY-MM-DD"