4.Redhat&&CentOS中的用户管理方法(二)

Linux平台下用户基本管理机制及原理剖析(二)

在前面的博客中,我们对虚拟环境下用户的新建、查看、删除以及用户组的新建和管理有了一定的了解,这篇文章我们

接着了解虚拟环境下的用户信息的更改、用户认证信息的查看,用户密码的管理以及用户授权。

 

1.用户信息的更改

更改用户信息我们用到的命令是chmod,chmod搭配不同的参数即可更改对应的用户信息,详细参数情况可参照下表

         命 令 + 参 数 + 用 户 名                                                                                                      功                能
  usermod   -l   新用户名   原名                更改当前的用命名   
   usermod  -u   uid   用户名                更改用户的uid
   usermod  -g  gid   用户名                更改用户的初始组
   usermod  -G  gid   用户名                更改用户的附加组 
   usermod  -aG  gid   用户名                添加用户的附加组
    usermod  -G  "  "    用户名                删除用户所有附加组的身份
    usermod  -c  "abc"  用户名                指定用户说明文字
  usermod  -d  /home/lee  用户名                更改用户家目录的指向
  usermod  -md  /home/lee  用户名                更改用户的家目录
  usermod  -s  /bin/sh   用户名                更改用户的shell
           usermod  -L  用户名                 冻结用户
           usermod  -U  用户名 

                解锁用户

为了验证上述命令及参数,我们需要新建用户来完成实验:

再新建用户之前,我们依旧对/etc/passwd、/etc/group和/home/进行监视,

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

                        

新建名为tom、harry的用户,新建名为shengchan、jishu的用户组,其他各个信息默认。

useradd tom             ##新建用户tom
useradd harry           ##新建用户harry
groupadd  jishu         ##新建一个组名为jishu
groupadd  shengchan     ##新建一个组名为shengchan

                               

更改tom的用户名为wen;更改wen的uid为123;更改wen的初始组为jishu;

usermod -l wen tom     ##更改tom的用户名为wen
usermod -u 123 wen     ##更改wen的uid为123
usermod -g jishu wen   ##更改wen的初始组为jishu

                                 

更改harry的附加组为shengchan;添加harry的附加组为jishu.

usermod -G shengchan harry   ##更改harry的附加组为shengchan
usermod -aG jishu  harry     ##增加harry的份附加组为jishu

                               

清空harry的附加组;指定wen的说明为Mr.wen;更改wen的shell类型;

usermod -G " " harry   ##清空harry的附加组
usermod -c "Mr.wen"    ##指定wen的说明为Mr.wen
usermod -s /bin/sh wen   ##更改wen的shell

                             

你对用户的说明在你登陆时可以直观地看到:

                                

更改用户家目录的指向可以看到,只有指向变了,家目录里并没有相应的目录:

usermod -d /home/hahaha wen   ##更改用户家目录的指向

                                  

更改家目录,可以看到家目录有相应的文件目录:

usermod -md /home/heihei wen   ##更改用户的家目录

                    

用usermod -L 冻结用户;用usermod -U 来解锁用户。

usermod -L wen   ##冻结wen用户
usermod -U wen   ##解锁wen用户

冻结后,就不能再登陆界面正常登陆,用root用户登陆,解锁后即可重新在登陆界面进行登陆。

 

2.用户认证信息的查看

记录用户的登陆信息的文件为/etc/shadow

我们查看/etc/shadow的后五行,可以看到用户的认证信息总共9列:

                    

以harry为例:

             

          字    段                                                                  含            义
             [1]用户名
             [2]用户的密码加密字段
             [3]用户密码最后一期被更改后已经使用的时间(从1970-01-01开始,1970-01-01是Unix起源,计算机元年)
             [4]用户密码最短有效期:密码最少多少天之后可以修改
             [5]用户密码最长有效期:密码多少天之后必须修改(例子中99999就是表明可以一直不用修改密码)
             [6]密码警告期限:密码修改之前几天提醒我修改(例子中是7天之前)
             [7]要是没有修改延长几天
             [8]无论怎样到这个时间过期
             [9]

保留字段,目前无含义

 

3.用户密码的管理

查看wen的用户密码信息:passwd -S wen

              

特别注意的是,SHA512表示的是加密类型

更改(设置)密码,以wen为例:passwd wen,然后两次输入想要设定的密码,看到successfully字样,完成设置。

                            

passwd 和对应的参数表示不同的功能:

passwd -l wen    ##在用户密码前面加上“!!”
passwd -u wen    ##解除用户密码前加的“!!”
usermod -L wen   ##在用户密码前面加上“!”
usermod -U wen   ##解除用户密码前加的“!”
passwd -d wen    ##清空wen的密码

说明:passwd -l和usermod -L 都可以用来冻结用户,但是冻结的程度不同

           同理:passwd -u  和 usermod -U都可以用来解锁用户。

                  

                    

注意, 普通用户该密码时:

1.必须知道当前用户的原始密码;

2.密码不能和帐号名称相似;

3.密码不能是纯数字或纯字母;

4.密码不是有序字母和数字组合。

4.用户认证信息的更改:

1.用户密码最后一次被更改的时间

passwd -e wen       ##将用户最后一次更改密码后的时间置零
chage -d 0 wen        用户在登陆时会被强制改密码
                    ##两个命令功能类似

2.用户密码最短有效期

passwd -n 1 wen    ##wen用户在一天之内不能修改密码
chage -m 1 wen  

3.用户密码最长有效期

passwd -x 30 wen    ##wen用户在30天内必须改密码
chage -M 30 wen   

4.密码警告期限

passwd -w 2 wen    ##密码过期前两天有警告输出
chage -W 2 wen  

5.用户非活跃天数

passwd -i 1 wen      ##密码过期后的一天内仍可登陆
chage -I 1 wen     

6.用户到期日

chage -E 2019-01-15    ##用户在2019-01-15会被冻结

依次运行上述代码,可得到以下结果:

                  

5.用户授权(权限下放)

首先我们要了解到,权限下放文件是/etc/sudoers。

和大多数文件一样,此文件可以用vim直接编辑,但是不提供语法检测

也可以使用visudo来编辑此文件,visudo是提供语法检测的

我们以给wen新建用户和删除用户的权限来进行操作:

visudo     ##打开并编辑sudoers文件

输入":set nu“ 来标注行号——>输入“:100“来定位到100行——>按i进入insert编辑模式

                       

输入如下内容来定义新的权限:

## Allow wen to run useradd and userdel(对即将编辑的内容作以解释)
wen  localhost=(root) /usr/sbin/useradd  ##wen用户可以在localhost主机
                                           以root用户的身份执行useradd命令
wen  localhost=(root)  NOPAAWD: /usr/sbin/useradd ##wen用户可以在localhost主机
                                                  以root用户的身份免密执行useradd命令

编辑好后按Esc退出insert模式,然后按:wq退出保存。如果输入的有问题,会提醒你有错误,此时按e继续编辑。

下面试一试授权的结果:

                          

如果我们删除授权的文件内容,那么会出现什么结果:

                                

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值