Linux密碼過期時間設定 /etc/login.defs

fjzcau發表於2015-01-24
Linux下對於新新增的使用者,使用者密碼過期時間是從 /etc/login.defs 中 PASS_MAX_DAYS 提取的,普通系統預設就是99999,
而有些安全作業系統是90。更改此處,只是讓新建的使用者預設密碼過期時間變化,已有使用者密碼過期時間仍然不變。

[root@linuxidc ~]# chage --help
Usage: chage [options] user

Options:
  -d, --lastday LAST_DAY        set last password change to LAST_DAY
  -E, --expiredate EXPIRE_DATE  set account expiration date to EXPIRE_DATE
  -h, --help                    display this help message and exit
  -I, --inactive INACTIVE       set password inactive after expiration
                                to INACTIVE
  -l, --list                    show account aging information
  -m, --mindays MIN_DAYS        set minimum number of days before password
                                change to MIN_DAYS
  -M, --maxdays MAX_DAYS        set maximim number of days before password
                                change to MAX_DAYS
  -W, --warndays WARN_DAYS      set expiration warning days to WARN_DAYS

chage:密碼失效是透過此命令來管理的。

  引數意思:
  -m 密碼可更改的最小天數。為零時代表任何時候都可以更改密碼。
  -M 密碼保持有效的最大天數。
  -W 使用者密碼到期前,提前收到警告資訊的天數。
  -E 帳號到期的日期。過了這天,此帳號將不可用。
  -d 上一次更改的日期
  -i 停滯時期。如果一個密碼已過期這些天,那麼此帳號將不可用。
  -l 例出當前的設定。由非特權使用者來確定他們的密碼或帳號何時過期。

[root@linuxidc ~]# chage -l root
Last password change                                    : Oct 19, 2010
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

更改用: 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   90/' /etc/login.defs

檢視一下是否

[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

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22661144/viewspace-1412898/,如需轉載,請註明出處,否則將追究法律責任。

相關文章