Linux中國

如何強制用戶在下次登錄 Linux 時更改密碼

當你使用默認密碼創建用戶時,你必須強制用戶在下一次登錄時更改密碼

當你在一個組織中工作時,此選項是強制性的。因為老員工可能知道默認密碼,他們可能會也可能不會嘗試不當行為。

這是安全投訴之一,所以,確保你必須以正確的方式處理此事而無任何失誤。即使是你的團隊成員也要一樣做。

大多數用戶都很懶,除非你強迫他們更改密碼,否則他們不會這樣做。所以要做這個實踐。

出於安全原因,你需要經常更改密碼,或者至少每個月更換一次。

確保你使用的是難以猜測的密碼(大小寫字母,數字和特殊字元的組合)。它至少應該為 10-15 個字元。

我們運行了一個 shell 腳本來在 Linux 伺服器中創建一個用戶賬戶,它會自動為用戶附加一個密碼,密碼是實際用戶名和少量數字的組合。

我們可以通過使用以下兩種方法來實現這一點:

  • passwd 命令
  • chage 命令

建議閱讀:

方法 1:使用 passwd 命令

passwd 的意思是「密碼」。它用於更新用戶的身份驗證令牌。passwd 命令/實用程序用於設置、修改或更改用戶的密碼。

普通的用戶只能更改自己的賬戶,但超級用戶可以更改任何賬戶的密碼。

此外,我們還可以使用其他選項,允許用戶執行其他活動,例如刪除用戶密碼、鎖定或解鎖用戶賬戶、設置用戶賬戶的密碼過期時間等。

在 Linux 中這可以通過調用 Linux-PAM 和 Libuser API 執行。

在 Linux 中創建用戶時,用戶詳細信息將存儲在 /etc/passwd 文件中。passwd 文件將每個用戶的詳細信息保存為帶有七個欄位的單行。

此外,在 Linux 系統中創建新用戶時,將更新以下四個文件。

  • /etc/passwd: 用戶詳細信息將在此文件中更新。
  • /etc/shadow: 用戶密碼信息將在此文件中更新。
  • /etc/group: 新用戶的組詳細信息將在此文件中更新。
  • /etc/gshadow: 新用戶的組密碼信息將在此文件中更新。

如何使用 passwd 命令執行此操作

我們可以使用 passwd 命令並添加 -e 選項來執行此操作。

為了測試這一點,讓我們創建一個新用戶賬戶,看看它是如何工作的。

# useradd -c "2g Admin - Magesh M" magesh && passwd magesh
Changing password for user magesh.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

使用戶賬戶的密碼失效,那麼在下次登錄嘗試期間,用戶將被迫更改密碼。

# passwd -e magesh
Expiring password for user magesh.
passwd: Success

當我第一次嘗試使用此用戶登錄系統時,它要求我設置一個新密碼。

login as: magesh
[email protected]'s password:
You are required to change your password immediately (root enforced)
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user magesh.
Changing password for magesh.
(current) UNIX password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Connection to localhost closed.

方法 2:使用 chage 命令

chage 意即「改變時間」。它會更改用戶密碼過期信息。

chage 命令會改變上次密碼更改日期之後需要修改密碼的天數。系統使用此信息來確定用戶何時必須更改他/她的密碼。

它允許用戶執行其他活動,例如設置帳戶到期日期,到期後設置密碼失效,顯示帳戶過期信息,設置密碼更改前的最小和最大天數以及設置到期警告天數。

如何使用 chage 命令執行此操作

讓我們在 chage 命令的幫助下,通過添加 -d 選項執行此操作。

為了測試這一點,讓我們創建一個新用戶帳戶,看看它是如何工作的。我們將創建一個名為 thanu 的用戶帳戶。

# useradd -c "2g Editor - Thanisha M" thanu && passwd thanu
Changing password for user thanu.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

要實現這一點,請使用 chage 命令將用戶的上次密碼更改日期設置為 0。

# chage -d 0 thanu

# chage -l thanu
Last password change : Jul 18, 2018
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

當我第一次嘗試使用此用戶登錄系統時,它要求我設置一個新密碼。

login as: thanu
[email protected]'s password:
You are required to change your password immediately (root enforced)
WARNING: Your password has expired.
You must change your password now and login again!
Changing password for user thanu.
Changing password for thanu.
(current) UNIX password:
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Connection to localhost closed.

via: https://www.2daygeek.com/how-to-force-user-to-change-password-on-next-login-in-linux/

作者:Prakash Subramanian 選題:lujun9972 譯者:MjSeven 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國