和用户与组相关的命令

  用户密码和组密码分别保存在/etc/shadow和/etc/gshadow里,下面我们对这两个文件进行分析。

   首先,cat /etc/shadow:


shadow里保存的内容都是分段的,每段以”:“分隔,每一段的内容如下:

用户名:加密后的密码:最近一次修改密码的日期:密码最短使用天数:密码最长使用天数:提前多少天提示用户密码即将过期:密码非活动天数:密码锁定日期:保留字段

   第二段:加密后的密码

   通过man 3 crypt可知:

   $id$salt$encrtpted

   id:表示加密方法


salt:是从[a-zA-Z0-9./]随机选取的2个字符,用来扰乱算法的

   encrtpted:用户真正的经过加密算法计算过的密码

第三段:最近一次修改密码的日期,这项表示的是1970-01-01距离密码修改日期共经历了多少天

   第四段:密码最短使用天数,0表示没有限制

   第五段:密码最长使用天数,99999表示无限制

   第七段:密码非活动天数,0表示密码过期立即锁定,-1表示密码永不过期

   第八段:密码锁定日期,这项表示的是1970-01-01距离密码修改日期共经历了多少天


   和用户密码相关的命令有passwd,usermod,chage,接下来我们一一讲解它们的用法:

   1.passwd [option] USERNAME

a.新建hadoop用户,并查看shadow

注意第二个字段是!!,因为还没有为hadoop设置密码,我们可以用passwd为用户设置密

格式:passwd USERNAME

登录成功:

b.锁定用户:

格式:passwd -l USERNAME

登录失败:

查看shadow,密码段最前面多了!!,密码不对了,不能登录是正常的:

c.解锁用户:

格式:passwd -u USERNAME

d.修改密码最短使用天数:

格式:passwd -n 天数 USERNAME

e.修改密码最长使用天数

格式:passwd -x 天数 USERNAME

f.修改提前多少天提示用户密码即将过期:

格式:passwd -w 天数 USERNAME

g.修改密码非活动天数:

格式:passwd -i 天数 USERNAME

h.使密码立即过期,并强制用户登录时更改密码:

格式:passwd -e USERNAME

2.chage [option] USERNAME

a.修改最后一次密码修改日期:

格式:chage -d YYYY-MM-DD USERNAME

hadoop最后一次修改密码是2014-04-30,第3个字段为16190;通过chage更改了最后一次密码修改日期为为2014-04-29,所以第3个字段变为了16189

b.修改密码最短使用天数:

格式:chage -m USERNAME

c.修改密码最长使用天数

格式:chage -M USERNAME

d.修改提前多少天提示用户密码即将过期:

格式:chage -W USERNAME

e.修改密码非活动天数:

格式:chage -I USERNAME

f.修改过期时间:

格式:chage -E YYYY-MM-DD USERNAME

现在是2014-04-30(距离1970-01-01是16190天),我们修改密码2014-05-01过期,所以是16191

3.usermod

a.修改密码过期日期:

格式:usermod -e YYYY-MM-DD USERNAME

b.修改密码非活动天数:

格式:usermod -f 天数 USERNAME


例:

修改用户最后一次修改密码日期2014-4-20,密码最短使用2天,最长使用10天,提前7天警告,非活动天数3天。

密码2014-04-30过期,但是非活动天数是3天,2014-05-01到05-03是非活动天数,如果不修改密码将锁定。


由于密码2014-04-30已过期,所以登录会提示密码已过期:


但是由于非活动天数3天,该到2014-05-03锁定,那么我们把现在的日期改为2014-05-01,理论上用hadoop登录系统时会提示修改密码:


使用hadoop登录系统:

果然,我们的猜想都是对的。

   我们还可以给组设置密码,使用gpasswd命令:

格式:gpasswd GRPNAME


我们给test组设置密码:


切换到hadoop用户,并新建a.txt文件:


我们如何用hadoop用户新建b.txt的属组是test组?

查看hadoop id信息:


我们新建oracle组,并将其添加到hadoop的附加组:

给oracle组设置密码:

再切换到hadoop,并切换到oracle组,新建c.txt:

查看hadoop id信息:


由下图可以看出:

键入exit并回车,新建的d.txt属组为用户hadoop的基本组


总结:

1.newgrp命令的作用就是log in to a new group

1使用newgrp命令切换的new group将临时作为该用户的基本组;

2.如果new group是该用户的附加组,则不需要输入密码;否则,需要输入密码;

3.使用exit退出改用户的临时基本组,返回用户自己的基本组;


newgrp的命令格式:

newgrp [-] [group],-的作用和su [-] anotheruser类似;

有关gpasswd和newgrp请自行man其详细用法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值