在红旗安全操作系统4.0上默认所有用户密码过期时间是90天,而且过期后用户即刻无法登录。此内容可以从/etc/shadow中看出来。普通操作系统用户密码永远不过期,从shadow中看到的是99999。
对于新添加的用户,用户密码过期时间是从/etc/login.defs中PASS_MAX_DAYS提取的,普通系统默认就是99999,而安全操作系统4.0是90。更改此处,只是让新建的用户默认密码过期时间变化,已有用户密码过期时间仍然不变。
怎么办呢?
有一个命令叫usermod,详细查了一下,的确可以更改部分相关功能:
功能说明:修改用户帐号。
语 法:usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>] [-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ] [-u ][用户帐号]
补充说明:usermod可用来修改用户帐号的各项设定。
参 数:
-c<备注> 修改用户帐号的备注文字。
-d登入目录> 修改用户登入时的目录。
-e<有效期限> 修改帐号的有效期限。
-f<缓冲天数> 修改在密码过期后多少天即关闭该帐号。
-g<群组> 修改用户所属的群组。
-G<群组> 修改用户所属的附加群组。
-l<帐号名称> 修改用户帐号名称。
-L 锁定用户密码,使密码无效。
-s 修改用户登入后所使用的shell。
-u 修改用户ID。
-U 解除密码锁定。
|
看来看去,没有看到如何修改密码过期天数,可见其中无法修改90这一项。难道非要直接修改shadow文件吗?
当然不是,linux都已经想到这些了,用chage命令可以完成:
chage:密码失效是通过此命令来管理的。
参数意思:
-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M 密码保持有效的最大天数。
-W 用户密码到期前,提前收到警告信息的天数。
-E 帐号到期的日期。过了这天,此帐号将不可用。
-d 上一次更改的日期
-i 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
|
[root@SOS ~]# chage -l root
Last password change : Oct 29, 2009
Password expires : Jan 27, 2010
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
[root@SOS ~]# chage -M 365 root
[root@SOS ~]# chage -l root
Last password change : Oct 29, 2009
Password expires : Oct 29, 2010
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 365
Number of days of warning before password expires : 7
|
阅读(3211) | 评论(0) | 转发(0) |