全部博文(245)
分类: LINUX
2008-05-24 09:35:59
先来了解一下 /etc/shadow 的格式:
[root@localhost ~]# cat /etc/shadow | grep yejr
yejr:$1$e0l45aJc$B3pfnFsKsxRFpI9apJ8mS1:13746:0:99999:7:::
类似 /etc/passwd,/etc/shadow 档的每一个栏位也是由 ":" 冒号所分开,意义如下:
使用者名称,最多 8 个符号,可以用大小写,通常都是小写。直接对应 /etc/passwd 档案中的使用者名称。
密码,加密过的 13 个字元。空格 (就是 ::) 表示登入时不需密码 (不是个好主意),"*" 项目 (就是 :*:) 指出帐号已经关闭。
密码最後一次变更起所经过的日数 (从 1970-1-1 起 )
密码经过几天可以变更 (0 表示可以随时变更)
密码经过几天必须变更 (99999 表示使用者可以保留他们的密码很多很多年不变)
密码过期之前几天开始要警告使用者
密码过期几天后帐号会被取消
从 1970-1-1 起,帐号经过几天会被取消
保留位
了解了之后,就开始吧。
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 42
PASS_MIN_DAYS 0
PASS_MIN_LEN 8
PASS_WARN_AGE 10
即,密码有效期42天,密码最小长度8位,密码过期前10天开始提醒。
[root@localhost ~]# passwd -x 42 -w 10 yejr
Adjusting aging data for user yejr.
passwd: Success
即,修改现行账户中的yejr,密码最长有效期42天,过期前10天开始提醒。
[root@localhost ~]# cat /etc/shadow | grep yejr
yejr:$1$e0l45aJc$B3pfnFsKsxRFpI9apJ8mS1:13746:0:99999:7:::
可以看到,帐号yejr是 2007-08-21 最后一次修改密码的,且他的密码是永久有效的。我们来手工编辑一下,修改成类似如下内容:
[root@localhost ~]# /usr/sbin/vipw
yejr:$1$e0l45aJc$B3pfnFsKsxRFpI9apJ8mS1:14012:0:42:10:::
即,帐号yejr最后一次修改时间是 2008-05-13,密码最长有效期是 42 天,密码过期前 10 天开始提醒。
以上操作在 Red Hat Enterprise Linux AS release 4 (Nahant Update 6) 上通过。