Categories: Linux

Linux 不重複使用前三次密碼 PAM 設定教學與範例

本篇介紹如何在 Ubuntu Linux 中設定 PAM 驗證模組,讓使用者更改密碼時不可以重複使用前三次用過的舊密碼。

pam_unix

pam_unix.so 是 Linux 中標準的驗證模組,預設就已經安裝在系統上,此模組本身就支援不重複使用密碼的設定。

編輯 /etc/pam.d/common-password 設定檔,在 pam_unix.so 的設定選項中,加上 remember=3,代表不重複使用過去 3 組舊密碼:

# 不重複使用過去 3 組舊密碼
password        [success=1 default=ignore]      pam_unix.so obscure sha512 remember=3

加入了 remember=3 選項之後,使用者的舊密碼就會以 MD5 的方式被儲存在 /etc/security/opasswd 檔案中,每當使用者變更密碼時,系統就會自動檢查新密碼是否跟舊的密碼有重複。如果希望記憶更多組舊密碼,可以自己更改 remember 的值。

設定了 pam_unix.soremember 參數之後,不需要重新啟動任何服務,新設定就會直接生效,此時若使用者在更改密碼時使用了舊的密碼,舊會出現這樣的錯誤訊息:

Password has been already used. Choose another.

pam_pwhistory

若不想使用 pam_unix.so 中的 remember 參數,pam_pwhistory 模組是另外一個替代方案,以下是使用範例:

# 不重複使用過去 3 組舊密碼
password   required                     pam_pwhistory.so  remember=3
password   [success=1 default=ignore]   pam_unix.so       obscure sha512 use_authtok

密碼使用期限

設定好不重複使用前三次密碼之後,通常也會要求使用者要定期更換密碼,建議參考 Linux 透過 login.defs 設定密碼使用期限教學與範例,設定密碼的使用期限。

參考資料

Share
Published by
Office Guide
Tags: 資訊安全

Recent Posts

Python 使用 PyAutoGUI 自動操作滑鼠與鍵盤

本篇介紹如何在 Python ...

9 個月 ago

Ubuntu Linux 以 WireGuard 架設 VPN 伺服器教學與範例

本篇介紹如何在 Ubuntu ...

9 個月 ago

Linux 網路設定 ip 指令用法教學與範例

本篇介紹如何在 Linux 系...

9 個月 ago

Windows 使用 TPM 虛擬智慧卡保護 SSH 金鑰教學與範例

本篇介紹如何在 Windows...

10 個月 ago

Linux 以 Shamir’s Secret Sharing 分割保存金鑰教學與範例

介紹如何在 Linux 中使用...

11 個月 ago

Linux 以 Cryptsetup、LUKS 加密 USB 隨身碟教學與範例

介紹如何在 Linux 系統中...

11 個月 ago