在红旗安全操作系统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
|
阅读(2961) | 评论(0) | 转发(0) |