Linux下對於新添加的用戶,用戶密碼過期時間是從/etc/login.defs中PASS_MAX_DAYS提取的,普通系統默認就是99999,而有些安全操作系統是90。更改此處,只是讓新建的用戶默認密碼過期時間變化,已有用戶密碼過期時間仍然不變。
[root@linuxidc ~]# chage --help
Usage: chage [options] user
Options:
chage:密碼失效是通過此命令來管理的。
參數意思:
-m 密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。
-M 密碼保持有效的最大天數。www.linuxidc.com
-W 用戶密碼到期前,提前收到警告信息的天數。
-E 帳號到期的日期。過了這天,此帳號將不可用。
-d 上一次更改的日期
-i 停滯時期。如果一個密碼已過期這些天,那麼此帳號將不可用。
-l 例出當前的設置。由非特權用戶來確定他們的密碼或帳號何時過期。
[root@linuxidc ~]# chage -l root
Last password change
Password expires
Password inactive
Account expires
Minimum number of days between password change
Maximum number of days between password change
Number of days of warning before password expires
更改用: chage -M 90 root
[root@linuxidc ~]#chage -M 90 root
[root@linuxidc ~]#chage -l root
如果以後添加一個用戶,那麼默認的時間還是沒改的,還必須得去/etc/login.defs修改PASS_MAX_DAYS 的默認值.那麼如果我直接修改全局/etc/login.defs所在的用戶會跟著改變嗎? 據我的測試是不會改變的,除非重啟後,但我們的服務器不是你想重啟的就可以重啟的!如果管理嚴格的地方,重啟還得經過很多程序步驟.改完全局時,沒有更改的用戶,想要讓他也同樣具備此功能.就得一個個的執行!
你也可以直接用vim 編輯器去編輯PASS_MAX_DAYS 99999
也可以用其它的工具
[root@linuxidc ~]#sed -i.bak -e 's/^\(PASS_MAX_DAYS\).*/\1
查看一下是否
[root@linuxidc ~]#cat /etc/login.defs |grep "PASS_M";
強制用戶登陸時修改口令
[root@linuxidc ~]#chage -d 0 username(linux)
[root@linuxidc ~]#passwd -f username(solaris)
強制用戶下次登陸時修改密碼,並且設置密碼最低有效期0和最高有限期90,提前15天發警報提示
[root@linuxidc ~]#chage -d 0 -m 0 -M 90 -W 15 root(linux)
[root@linuxidc ~]#passwd -f -n 0 -x 90 -w 15 root(solaris)
查看某個用戶的密碼設置情況
[root@linuxidc ~]#chage -l username
修改密碼配置文件
[root@linuxidc ~]#vi /etc/login.defs