您的位置:首页 > 运维架构 > Linux

Blog5@linux用户及其权力管理、超户(root)密码忘记的解决方法

2017-10-11 22:49 225 查看
摘要:本节主要介绍用户的理解、管理、权力下放以及root密码忘记的解决办法等内容。

一、用户理解

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

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

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

/etc/passwd        ###用户信息

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

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

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

/etc/group        ###组信息

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

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

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

/etc/skel/.*        ###用户骨架文件
注意:/etc/skel/ 这个目录中的所有文件或目录在用户新建的过程中会被复制到用户的家目录里

               ##这个目录默认存在的隐藏文件是用户的默认配置文件

二、用户管理

1.用户建立

useradd   -u  指定用户uid 用户名称, 指定用户UID;

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

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



注:也可以将用户、初始组、附加组分开建立。

但每一项建立过后,欲想要再次在该用户上建立下一项,必须先删除用户方可。

useradd -c, 用户说明;

useradd -d, 用户家目录;

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

2.用户删除

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

3.组的建立

groupadd    -g    ##建立组



groupdel    组名字    ##删除组



注:删除用户时同时删除组的条件

 1>用户跟组名字相同

 2>组中只有唯一用户

 3>用户与组id相同

 4>组为用户初始组 附加组无法删除

做以上实验的监控命令:

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

4.用户id信息查看

id    参数    用户

    -u    ##用户uid

    -g    ##用户初始组id

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

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

    -a    ##显示所有信息



5.用户信息更改

 usermod    参数    用户

    -l    ##更改用户名称

    -u    ##更改uid 初始ID

    -g    ##更改gid

    -G    ##更改附加组

    -aG    ##添加附加组

操作如下:



usermod -c     
##更改说明



注:其/home/... , ‘...’中内容可任意

usermod -d    ##更改家目录指定(新指定家目录  不改变真实家目录)



usermod -md    ##更改家目录指定及家目录名称(只有当指定家目录与真实家目录一样时,方可用-md 同时更改)



usermod    -s    ##更改shell



usermod    -L    ##冻结帐号

                   -U    ##解锁

三、用户权力下放

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

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



2.下放权力的方法

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



*)格式:
查看当前用户主机名称: hostname

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

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

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



3.执行下放权限命令

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

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

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

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

其用法如下:



四、用户认证信息的控制

chage     参数    用户

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

    -m    ##最短有效期

    -M    ##最长有效期

    -W    ##警告期

    -I    ##用户非活跃天数

    -E    ##帐号到期日格式 -E "YYYY-MM-DD"
以用户love为例,其信息格式如下



依次为:

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

依次测试chage相关命令如下:



因为步骤相似,就不一一截屏,最后整体效果如下:



五、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两次使系统自动重新
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 博客 运维