linux下強制新使用者首次登陸修改密碼
阿新 • • 發佈:2019-02-04
如果系統管理員希望新增一個使用者以後,讓該使用者第一次登入以後自己設定自己的密碼,那麼就要使得使用者的初始密碼或者空密碼立刻過期,強制使用者第一次登入後立刻修改密碼。
為了強制使用者第一次登入時設定一個新密碼,請按照下面的指示來做,但是需要的注意的時候如果使用者是通過SSH遠端登入進去的,那麼該方法是不能生效的。
1. 鎖定使用者密碼 - 如果使用者不存在,用useradd新增使用者,但是不設定密碼,使得該帳號仍然處於鎖定狀態,如果使用者密碼已經啟用,則用下面命令鎖定:
usermod -L username
2. 強制密碼立刻過期:
chage -d 0 username
該命令設定使用者上次修改密碼的時間為紀元時間(1970年1月1日),這樣會使得該命令立刻過期,而不論密碼過期策略的設定。
3. 對帳號解鎖 - 這裡有兩個方法來實現,管理員可以設定一個新密碼或者設定空密碼:
注意:不要使用passwd來設定密碼,因為它會使得剛才設定的使密碼立刻過期的設定失效。
為了設定初始密碼,使用下面步驟:
- 啟動Python:
# python Python 2.3.4 (#1, Feb 6 2006, 10:38:46) [GCC 3.4.5 20051201 (Red Hat 3.4.5-2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>>
- 在提示符>>>後輸入下面命令:
import crypt; print crypt.crypt("userpassword","username") 輸出將會類似是: 12CsGd8FRcMSM
- 輸入[Ctrl]+[D]退出python。
- 拷貝剛才的輸出密碼結果,12CsGd8FRcMSM,用在下面的命令中:
usermod -p "12CsGd8FRcMSM" username
當然也可以給使用者給一個空密碼:
usermod -p "" username
注: 雖然空密碼很方便,但是有安全風險。
然後登入該使用者,就會提示輸入密碼。
其他辦法:
使用下面方法也可以實現:
1. 使用useradd新增使用者 2. 使用passwd設定使用者密碼 3. 使用usermod -L來鎖密碼 4. 強制使用者帳號過期chage -d 0 username 5. 解鎖使用者帳號
上面流程的示例:
# useradd dan # passwd dan Changing password for user dan. New password: Retype new password: passwd: all authentication tokens updated successfully. # usermod -L dan # chage -d 0 dan # usermod -U dan
當然使用者dan第一次登入,就會提示設定密碼如下:
$ su dan Password: You are required to change your password immediately (root enforced) Changing password for dan (current) UNIX password: New password: Retype new password:
本文摘自redhat官方文件!
根據本人理解只需2步:
1、建立使用者賬戶 2、強制使用者帳號過期
若需清空賬戶只需將/etc/shadow中相應使用者的密碼欄位(欄位以“:”分隔,第二個欄位)清空即可。