天天看点

Linux--用户的管理以及权利下放 密码的重置

##################

####一.用户理解####

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

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

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

1. /etc/passwd     ###用户信息

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

图示:用户信息系统配置文件信息

<a href="https://s5.51cto.com/wyfs02/M01/A6/D9/wKioL1ncijvitYeCAABwmhYnEq8976.png-wh_500x0-wm_3-wmp_4-s_3400255469.png" target="_blank"></a>

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

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

图示:用户认证系统配置文件信息

<a href="https://s4.51cto.com/wyfs02/M02/08/27/wKiom1nc-YDRPniFAABvuJ5Yyv4989.png-wh_500x0-wm_3-wmp_4-s_1668533893.png" target="_blank"></a>

3. /etc/group      ###组信息

 组名称:组密码:组id:附加组成员组认证信息

图示:组用户配置文件

<a href="https://s4.51cto.com/wyfs02/M01/08/27/wKiom1nc-c_xg9siAABQaZ8MYeQ462.png-wh_500x0-wm_3-wmp_4-s_443214597.png" target="_blank"></a>

4. /etc/gshadow       ###

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

示图:用户家目录

<a href="https://s5.51cto.com/wyfs02/M02/08/28/wKiom1nc-oHARQkHAAA1T4ucHYk264.png-wh_500x0-wm_3-wmp_4-s_1645606626.png" target="_blank"></a>

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

####二.用户管理####

1.用户建立

useradd     参数        用户名字

        -u  ##指定用户uid

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

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

        -c  ##用户说明

        -d  ##用户家目录

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

$$ps:

以上实验的监控命令:

watch -n 1 'tail -n 3 /etc/passwd /etc/group;echo ====;ls -l /home;echo ===;ls -l /mnt'   ##每秒查看显示:查看/etc/passwd和/etc/group文件后三行;同时查看/home目录下用户的个数;显示===作为分隔符;同时查看/mnt目录内文件个数

用户名不可以重复

图示:初始监控值

<a href="https://s2.51cto.com/wyfs02/M00/08/28/wKiom1ndBJHhEKByAACe3hKMXuM588.png-wh_500x0-wm_3-wmp_4-s_641841149.png" target="_blank"></a>

图示:useradd westos

<a href="https://s1.51cto.com/wyfs02/M02/A6/DB/wKioL1ncljuCtuiQAADlkjbnotE760.png-wh_500x0-wm_3-wmp_4-s_1407898900.png" target="_blank"></a>

图示:useradd设定id

<a href="https://s1.51cto.com/wyfs02/M01/08/29/wKiom1ndBZvgolGPAADlkjbnotE926.png-wh_500x0-wm_3-wmp_4-s_213399665.png" target="_blank"></a>

2.用户删除

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

3.组的建立

groupadd    -g  ##建立组

groupdel    组名字  ##删除组

作以上实验的监控命令:

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

组名不可以重复

<a href="https://s3.51cto.com/wyfs02/M00/08/29/wKiom1ndBruxk7SqAADouIEzwJ0364.png-wh_500x0-wm_3-wmp_4-s_1847741056.png" target="_blank"></a>

示图:groupadd组建立

<a href="https://s3.51cto.com/wyfs02/M00/A6/DB/wKioL1ncmAbBmJZeAADU8z1VM1Y627.png-wh_500x0-wm_3-wmp_4-s_3949644180.png" target="_blank"></a>

示图:groupadd组建立设定初始id

<a href="https://s4.51cto.com/wyfs02/M00/08/29/wKiom1ndB6KBUKViAADouIEzwJ0431.png-wh_500x0-wm_3-wmp_4-s_202442289.png" target="_blank"></a>

4.用户id信息查看

id  参数    用户

    -u  ##用户uid

    -g  ##用户初始组id

    -G  ##用户所有所在组id

    -n  ##显示名称而不是id数字

    -a  ##显示所有信息

图示:查看id信息

<a href="https://s3.51cto.com/wyfs02/M01/08/29/wKiom1ndCEnisBkNAACe-ZPPFuU040.png-wh_500x0-wm_3-wmp_4-s_140449985.png" target="_blank"></a>

5.用户信息更改

usermod 参数    用户

    -l  ##更改用户名称

    -u  ##更改uid

    -g  ##更改gid

    -G  ##更改附加组

    -aG ##添加附加组

    -c  ##更改说明

    -d  ##更改家目录指定

    -md ##更改家目录指定及家目录名称

    -s  ##更改shell

    -L  ##冻结帐号

    -U  ##解锁

$$ps:

watch -n 1 passwd -S westos 作为监控westos密码的信息变化

图示:usermod初始值

<a href="https://s1.51cto.com/wyfs02/M00/08/29/wKiom1ndCLvRcE7gAACbFoGsKuk816.png-wh_500x0-wm_3-wmp_4-s_2718143842.png" target="_blank"></a>

图示:usermod修改用户名

<a href="https://s2.51cto.com/wyfs02/M02/08/29/wKiom1ndCQWyNUiCAADRRpaAPCI170.png-wh_500x0-wm_3-wmp_4-s_3950249962.png" target="_blank"></a>

图示:usermod修改用户id

<a href="https://s3.51cto.com/wyfs02/M02/08/29/wKiom1ndCXHCT8uOAAEceg8FXA0513.png-wh_500x0-wm_3-wmp_4-s_2028637240.png" target="_blank"></a>

图示:usermod添加附加组

<a href="https://s4.51cto.com/wyfs02/M01/08/29/wKiom1ndCcnytInvAAEceg8FXA0582.png-wh_500x0-wm_3-wmp_4-s_2924527150.png" target="_blank"></a>

图示:usermod修改用户说明

<a href="https://s3.51cto.com/wyfs02/M01/A6/DB/wKioL1ncm4uBeYAzAAEwMDIgxPQ463.png-wh_500x0-wm_3-wmp_4-s_1560707632.png" target="_blank"></a>

图示:usermod修改用户文件夹名

<a href="https://s2.51cto.com/wyfs02/M02/08/29/wKiom1ndC8WA7JA_AAE3HzH3WZU041.png-wh_500x0-wm_3-wmp_4-s_882117360.png" target="_blank"></a>

图示:usermod修改用户使用shell

<a href="https://s5.51cto.com/wyfs02/M02/A6/DB/wKioL1ncnU-j-cLoAAD4LMBQT2E143.png-wh_500x0-wm_3-wmp_4-s_3553454223.png" target="_blank"></a>

图示:usermod冻结用户

<a href="https://s4.51cto.com/wyfs02/M00/08/29/wKiom1ndDIvCMtKtAACf3Pdt2yk497.png-wh_500x0-wm_3-wmp_4-s_1619250157.png" target="_blank"></a>

图示:usermod解冻

<a href="https://s4.51cto.com/wyfs02/M01/A6/DB/wKioL1ncnaXAOmDUAABr5Sllps4504.png-wh_500x0-wm_3-wmp_4-s_1723824680.png" target="_blank"></a>

######################

####三.用户权力下放####

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

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

2.下放权力的方法

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

*)格式:

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

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

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

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

westos            localhost=(root)            /usr/sbin/useradd

westos用户能在localhost以超级用户身份执行/usr/sbin/useradd

当权限文件编辑出现语法错误时,会反馈what now? 输入e继续编辑

示图:修改命令文本配置文件

<a href="https://s4.51cto.com/wyfs02/M00/08/29/wKiom1ndDYjQhx5NAADWQR2QbJ4093.png-wh_500x0-wm_3-wmp_4-s_853460998.png" target="_blank"></a>

3.执行下放权限命令

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

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

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

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

图示:执行下方权限命令

<a href="https://s5.51cto.com/wyfs02/M00/A6/DB/wKioL1ncn4iQZnI1AADYsIfbcVg514.png-wh_500x0-wm_3-wmp_4-s_1775906422.png" target="_blank"></a>

4.第一次不需要输入密码执行下放命令

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

示图:修改命令权限配置文件无密码

<a href="https://s5.51cto.com/wyfs02/M01/08/29/wKiom1ndDkqzjoGrAAERbJdWCGI990.png-wh_500x0-wm_3-wmp_4-s_2897145322.png" target="_blank"></a>

############################

####四。用户认证信息的控制####

chage   参数    用户

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

    -m  ##最短有效期

    -M  ##最长有效期

    -W  ##警告期

    -I  ##用户非活跃天数

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

[root@localhost Desktop]# echo lee | passwd --stdin westos

##显示westos用户的密码信息

示图:chage参数使用

<a href="https://s1.51cto.com/wyfs02/M02/08/29/wKiom1ndDfDDaG09AACvkEzOPII297.png-wh_500x0-wm_3-wmp_4-s_1189325926.png" target="_blank"></a>

####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两次使系统自动重新启动

本文转自 無緣 51CTO博客,原文链接:http://blog.51cto.com/13352594/1974941

继续阅读