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