linux修改组用户密码,Linux命令-用户密码和组密码管理

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

首先,cat /etc/shadow:32241ff9a11569075d741638df1689ce.png

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

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

第二段:加密后的密码

通过man 3 crypt可知:

$id$salt$encrtpted

id:表示加密方法

223088c1c99f27f7fc7e25d049e4621b.png

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

130c91ad93741fbd6bd93955e8d98baf.png

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

格式:passwd USERNAME

16c9430b45efeeb0bab8cb609cf4a265.png

登录成功:2a07cef48689948077fef5753b9d7e28.png

a.1 :

passwd还有另一种为用户设置密码的方式:

passwd --stdin USERNAME

passwd支持使用管道读取标准输入作为新密码。

629022b6f2af26aab9f96b6b93209d06.png

b.锁定用户:

格式:passwd -l USERNAME

02f2e46ca4d49b777f3d0e6648ee5d86.png

登录失败:

8ca5911f801a078052c330451c6499b4.png

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

f7fd72f7273d1e8834b85c29f23350c2.png

c.解锁用户:

格式:passwd -u USERNAME

32123d1cdf5474e3aa5c7af79fdfc273.png

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

格式:passwd -n 天数 USERNAME

5b8eec230bd99594e1ecad0d02ff9885.png

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

格式:passwd -x 天数 USERNAME

56ebe8248b8562a3fdfa59bc2d5527bc.png

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

格式:passwd -w 天数 USERNAME

5aa3a2c5380f435b6e38fbc91216fafa.png

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

格式:passwd -i 天数 USERNAME

9ed82e39ae4e66918629e38c129bbfed.png

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

格式:passwd -e USERNAME

6507ce00d51c016828937f77056c9f06.png

e9e8c0bf88a2646f1703135f08144bef.png

2.chage [option] USERNAME

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

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

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

d563a44df6ac19e60c31b928a54a9f96.png

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

格式:chage -m USERNAME

0007273aa809ce544d6af4440fbe69c6.png

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

格式:chage -M USERNAME

fd3620720e89923dc26a43e07c0d241e.png

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

格式:chage -W USERNAME

0e8bedc3c0e38e2cf7d73b7d84d424bd.png

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

格式:chage -I USERNAME

58c2209296612783f61f92a5e258864e.png

f.修改过期时间:

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

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

0424b0541c42e8dba9b0718f5db9a3e0.png

3.usermod

a.修改密码过期日期:

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

772b427ba0ede60401cff24bd3da624c.pngb.修改密码非活动天数:

格式:usermod -f 天数 USERNAME

16f1500f29acd3ccc28af76464001bd2.png

例:

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

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

627732c281e2076416559538a2e2a979.png

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

a455fba6db6a384e2d0ded6cecaec9ca.png

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

08adf8abd48a1d532b239ab1d35c37e5.png

使用hadoop登录系统:

38b44b262b441e399af2848de44def55.png

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

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

格式:gpasswd GRPNAME

aae7bb3a7da422e41019636f5f3efbcd.png

02444c8fc8f2c662c5fe7103808cd0cb.png

我们给test组设置密码:

c5c0966dab7363bc2a7d21c90628551e.png

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

d18d6a797d9c625c702a6bc9a5eef71e.png

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

ed022e31c9f6c7362f637202a87769e3.png

查看hadoop id信息:

2b227f56067ad7e56f85a84e65bc7e10.png

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

2c107b0b9cb0348654138a03e5324fd4.png

给oracle组设置密码:

9370afe95f05fb508e7e568c65bf27bb.png

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

a7d27d38e4fcf1a67b1113a42c800176.png

查看hadoop id信息:

1f4df198ccf2653fb8eb005abe1112c5.png

由下图可以看出:

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

31b44569acac4347e86592934f86d5f0.png

总结:

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其详细用法。

如上述内容有错误的地方,希望大家谅解,并指出错误所在,小弟感激不尽!

我是一只小小小菜鸟,希望能飞得更高!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值