標籤:

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

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

來自專欄 Linux14 人贊了文章

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

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

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

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

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

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

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

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

  • passwd 命令
  • chage 命令

建議閱讀:

  • 如何在 Linux 上檢查用戶所屬的組
  • 如何在 Linux 上檢查創建用戶的日期
  • 如何在 Linux 中重置/更改用戶密碼
  • 如何使用 passwd 命令管理密碼過期和老化

方法 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 mageshChanging password for user magesh.New password:Retype new password:passwd: all authentication tokens updated successfully.

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

# passwd -e mageshExpiring 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 thanuChanging password for user thanu.New password:Retype new password:passwd: all authentication tokens updated successfully.

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

# chage -d 0 thanu# chage -l thanuLast password change : Jul 18, 2018Password expires : neverPassword inactive : neverAccount expires : neverMinimum number of days between password change : 0Maximum number of days between password change : 99999Number 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: 2daygeek.com/how-to-for

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

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


推薦閱讀:

linux內存管理——mmap函數詳解
ubuntu18.04終端及應用縮小之後找不到的解決辦法
如何在 Linux 中查找文件
體驗linux,雙系統了解下
Shell 中的引用傳遞

TAG:Linux |