一 用户的理解

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

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

用户信息涉及到的系统配置文件:


/etc/passwd 用户信息

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

用户、组的管理以及权利下放问题_root

/etc/shadow   用户认证信息

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

用户、组的管理以及权利下放问题_root _02

/etc/group   组信息

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

/etc/gshadow###组认证信息

/home/username###用户家目录

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

用户、组的管理以及权利下放问题_passwd_03

二 、用户管理

        1)建立用户

            useradd  参数  用户名字

    

-u##指定用户uid

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

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

-c##用户说明

-d##用户家目录

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

用户、组的管理以及权利下放问题_passwd_04

在建立用户的时候默认uid 和gid从1000开始,因为1000以前是系统要用的,这个可以通过文件设置来更改的。

2.用户删除

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

  需要注意的是:删除用户的时候必须带上-r,因为在useradd建立用户时候会默认建立一个跟这个用户同名的组,这个组就是用户的默认组,如果说仅仅删除了这个用户而没有删除这个默认组,这样以来默认组就会越来越多,导致gid的大量占用,对资源是一种浪费(前提是这个默认组不是其他用户的附加组)

用户、组的管理以及权利下放问题_passwd_05

3.组的建立

groupadd  -g  建立组

groupdel + 组名字  删除组

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  解锁

上边这些权限有的仅仅是针对root身份才可以使用,比如L和U,如果root针对用户执行-L这个命令,用户将无法对密码进行修改。


用watch监视这些用户的信息来切实感受一些这些命令的效果。

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

用户、组的管理以及权利下放问题_passwd_06.

6 权利下放

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

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

2.下放权力的方法

*)超级用户执行visudo进入编辑/etc/sudoers模式

*)格式:

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

testdesktop0.example.com=(root)/usr/sbin/useradd

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

3.执行下放权限命令

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

/etc/sudoers中如果设置如下:

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

表示用户调用sudo命令的时候不需要自己密码


用户、组的管理以及权利下放问题_/etc/ _07

权利下放是指对于有些命令只能有root来使用的通过设置可以将使用的权利给普通用户。

比如useradd和userdel命令,就可以通过上述提到的来进行设置从而让普通用户student来使用。

7)chage

chage 参数用户

-d  用户密码组后一次修改的时间,如果设定成0,用户登陆系统后必须修改自己的密码

-m  最短有效期

-M  最长有效期

-W  警告期

-I  用户非活跃天数

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

8)修改root密码

1.重新启动系统

用户、组的管理以及权利下放问题_passwd_08

2.在系统启动阶段按上下健停止系统系统引导

3.选择启动引导标题,按“E”进行编辑

用户、组的管理以及权利下放问题_root _09

4.找到linux16引导条目这一行,从这行最后删除到ro选项,并把ro改为rw,然后添加rd.break选项

用户、组的管理以及权利下放问题_root _10

5.ctrl+x启动设定过后的系统引导条目

6.进入系统后执行chroot /sysroot切换到真实的系统环境

7.passwd root修改超级用户密码

8.建立文件/.autorelabel让系统从新扫描所有文件

用户、组的管理以及权利下放问题_root _11

9.exit两次使系统自动重新启动