如何強制用戶在下次登錄Linux時更改密碼
當(dāng)你使用默認(rèn)密碼創(chuàng)建用戶時,你必須強制用戶在下一次登錄時更改密碼。
當(dāng)你在一個組織中工作時,此選項是強制性的。因為老員工可能知道默認(rèn)密碼,他們可能會也可能不會嘗試不當(dāng)行為。
這是安全投訴之一,所以,確保你必須以正確的方式處理此事而無任何失誤。即使是你的團(tuán)隊成員也要一樣做。
大多數(shù)用戶都很懶,除非你強迫他們更改密碼,否則他們不會這樣做。所以要做這個實踐。
出于安全原因,你需要經(jīng)常更改密碼,或者至少每個月更換一次。
確保你使用的是難以猜測的密碼(大小寫字母,數(shù)字和特殊字符的組合)。它至少應(yīng)該為 10-15 個字符。
我們運行了一個 shell 腳本來在 Linux 服務(wù)器中創(chuàng)建一個用戶賬戶,它會自動為用戶附加一個密碼,密碼是實際用戶名和少量數(shù)字的組合。
我們可以通過使用以下兩種方法來實現(xiàn)這一點:
- passwd 命令
- chage 命令
建議閱讀:
方法 1:使用 passwd 命令
passwd
的意思是“密碼”。它用于更新用戶的身份驗證令牌。passwd
命令/實用程序用于設(shè)置、修改或更改用戶的密碼。
普通的用戶只能更改自己的賬戶,但超級用戶可以更改任何賬戶的密碼。
此外,我們還可以使用其他選項,允許用戶執(zhí)行其他活動,例如刪除用戶密碼、鎖定或解鎖用戶賬戶、設(shè)置用戶賬戶的密碼過期時間等。
在 Linux 中這可以通過調(diào)用 Linux-PAM 和 Libuser API 執(zhí)行。
在 Linux 中創(chuàng)建用戶時,用戶詳細(xì)信息將存儲在 /etc/passwd
文件中。passwd
文件將每個用戶的詳細(xì)信息保存為帶有七個字段的單行。
此外,在 Linux 系統(tǒng)中創(chuàng)建新用戶時,將更新以下四個文件。
/etc/passwd
: 用戶詳細(xì)信息將在此文件中更新。/etc/shadow
: 用戶密碼信息將在此文件中更新。/etc/group
: 新用戶的組詳細(xì)信息將在此文件中更新。/etc/gshadow
: 新用戶的組密碼信息將在此文件中更新。
如何使用 passwd 命令執(zhí)行此操作
我們可以使用 passwd
命令并添加 -e
選項來執(zhí)行此操作。
為了測試這一點,讓我們創(chuàng)建一個新用戶賬戶,看看它是如何工作的。
# 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
當(dāng)我***次嘗試使用此用戶登錄系統(tǒng)時,它要求我設(shè)置一個新密碼。
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
命令會改變上次密碼更改日期之后需要修改密碼的天數(shù)。系統(tǒng)使用此信息來確定用戶何時必須更改他/她的密碼。
它允許用戶執(zhí)行其他活動,例如設(shè)置帳戶到期日期,到期后設(shè)置密碼失效,顯示帳戶過期信息,設(shè)置密碼更改前的最小和***天數(shù)以及設(shè)置到期警告天數(shù)。
如何使用 chage 命令執(zhí)行此操作
讓我們在 chage
命令的幫助下,通過添加 -d
選項執(zhí)行此操作。
為了測試這一點,讓我們創(chuàng)建一個新用戶帳戶,看看它是如何工作的。我們將創(chuàng)建一個名為 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.
要實現(xiàn)這一點,請使用 chage
命令將用戶的上次密碼更改日期設(shè)置為 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
當(dāng)我***次嘗試使用此用戶登錄系統(tǒng)時,它要求我設(shè)置一個新密碼。
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.