2009年6月30日 星期二

強迫密碼變更時間

FreeBSD 使用 shadow password 的方式來保護密碼檔,只有 root 才可以讀取編碼後的密碼檔 /etc/master.passwd。但是這並不是系統用來驗証的檔案,為了加快速度,FreeBSD 將該檔做成資料庫 /etc/spwd.db/etc/pwd.db, 因此在修改完 master.passwd 後,必須使用指令 pwd_mkdb 來將 master.passwd 做成資料庫檔案。不過一般而言,我會使用 vipw 這個指令來修改 master.passwdvipw 會先將 master.passwd 以預設的文書編輯軟體打開,修改完存檔後,它會視需要自動更新資料庫。

#pwd_mkdb master.passwd
  • master.passwd 這個檔案內容中,每個使用者都是獨立的一行,每個欄位使用冒號分開,它的格式是:
    name:password:UID:GID:class:change:expire:fullname:home:shell
  • change:強迫使用者變更密碼的時間,以從1970年到所要變更日期所經過的秒數來表示。你可以使用 date +%s 來求出從1970年到現在時間所經過的秒數,每天為86400秒,以現在時間的秒數加上86400*天數即為你要設定的時間。你可以使用指令下列指令來取得30天後的秒數,再將其填入即可。若設為0則表示不使用此功能:
# expr `date +%s` + 86400 \* 30

沒有留言:

熱門文章