Linux 如何設置密碼複雜度?

對於 Linux 系統管理員來講,用戶管理是最重要的事之一。這涉及到不少因素,實現強密碼策略是用戶管理的其中一個方面。移步後面的 URL 查看如何 在 Linux 上生成一個強密碼。它會限制系統未受權的用戶的訪問。linux

全部人都知道 Linux 的默認策略很安全,然而咱們仍是要作一些微調,這樣才更安全。弱密碼有安全隱患,所以,請特別注意。移步後面的 URL 查看生成的強密碼的密碼長度和分值。本文將教你在 Linux 中如何實現最安全的策略。git

在大多數 Linux 系統中,咱們能夠用 PAM(可插拔認證模塊pluggable authentication module)來增強密碼策略。在下面的路徑能夠找到這個文件。github

  • 在紅帽系列的系統中,路徑:/etc/pam.d/system-auth
  • Debian 系列的系統中,路徑:/etc/pam.d/common-password

關於默認的密碼過時時間,能夠在 /etc/login.defs 文件中查看詳細信息。安全

爲了更好理解,我摘取了文件的部份內容:ruby

# vi /etc/login.defs

PASS_MAX_DAYS   99999
PASS_MIN_DAYS   0
PASS_MIN_LEN    5
PASS_WARN_AGE   7
複製代碼

詳細解釋:bash

  • PASS_MAX_DAYS:一個密碼可以使用的最大天數。
  • PASS_MIN_DAYS:兩次密碼修改之間最小的間隔天數。
  • PASS_MIN_LEN:密碼最小長度。
  • PASS_WARN_AGE:密碼過時前給出警告的天數。

咱們將會展現在 Linux 中如何實現下面的 11 個密碼策略。dom

  • 一個密碼可以使用的最大天數
  • 兩次密碼修改之間最小的間隔天數
  • 密碼過時前給出警告的天數
  • 密碼歷史記錄/拒絕重複使用密碼
  • 密碼最小長度
  • 最少的大寫字母個數
  • 最少的小寫字母個數
  • 最少的數字個數
  • 最少的其餘字符(符號)個數
  • 帳號鎖定 — 重試
  • 帳號解鎖時間

密碼可以使用的最大天數是什麼?

這一參數限制一個密碼可以使用的最大天數。它強制用戶在過時前修改他/她的密碼。若是他們忘記修改,那麼他們會登陸不了系統。他們須要聯繫管理員才能正常登陸。這個參數能夠在 /etc/login.defs 文件中設置。我把這個參數設置爲 90 天。ui

# vi /etc/login.defs

PASS_MAX_DAYS   90
複製代碼

密碼最小天數是什麼?

這個參數限制兩次修改之間的最少天數。舉例來講,若是這個參數被設置爲 15 天,用戶今天修改了密碼,那麼在 15 天以內他都不能修改密碼。這個參數能夠在 /etc/login.defs 文件中設置。我設置爲 15 天。spa

# vi /etc/login.defs

PASS_MIN_DAYS   15
複製代碼

密碼警告天數是什麼?

這個參數控制密碼警告的前置天數,在密碼即將過時時會給用戶警告提示。在警告天數結束前,用戶會收到平常警告提示。這能夠提醒用戶在密碼過時前修改他們的密碼,不然咱們就須要聯繫管理員來解鎖密碼。這個參數能夠在 /etc/login.defs 文件中設置。我設置爲 10 天。unix

# vi /etc/login.defs

PASS_WARN_AGE   10
複製代碼

注意: 上面的全部參數僅對新帳號有效,對已存在的帳號無效。

密碼歷史或拒絕重複使用密碼是什麼?

這個參數控制密碼歷史。它記錄曾經使用過的密碼(禁止使用的曾用密碼的個數)。當用戶設置新的密碼時,它會檢查密碼歷史,若是他們要設置的密碼是一個曾經使用過的舊密碼,將會發出警告提示。這個參數能夠在 /etc/pam.d/system-auth 文件中設置。我設置密碼歷史爲 5。

# vi /etc/pam.d/system-auth

password  sufficient  pam_unix.so md5 shadow nullok try_first_pass use_authtok remember=5
複製代碼

密碼最小長度是什麼?

這個參數表示密碼的最小長度。當用戶設置新密碼時,系統會檢查這個參數,若是新設的密碼長度小於這個參數設置的值,會收到警告提示。這個參數能夠在 /etc/pam.d/system-auth 文件中設置。我設置最小密碼長度爲 12。

# vi /etc/pam.d/system-auth

password  requisite   pam_cracklib.so try_first_pass retry=3 minlen=12
複製代碼

try_first_pass retry=3:在密碼設置交互界面,用戶有 3 次機會重設密碼。

設置最少的大寫字母個數?

這個參數表示密碼中至少須要的大寫字母的個數。這些是密碼強度參數,可讓密碼更健壯。當用戶設置新密碼時,系統會檢查這個參數,若是密碼中沒有大寫字母,會收到警告提示。這個參數能夠在 /etc/pam.d/system-auth 文件中設置。我設置密碼(中的大寫字母)的最小長度爲 1 個字母。

# vi /etc/pam.d/system-auth

password   requisite   pam_cracklib.so try_first_pass retry=3 minlen=12 ucredit=-1
複製代碼

設置最少的小寫字母個數?

這個參數表示密碼中至少須要的小寫字母的個數。這些是密碼強度參數,可讓密碼更健壯。當用戶設置新密碼時,系統會檢查這個參數,若是密碼中沒有小寫字母,會收到警告提示。這個參數能夠在 /etc/pam.d/system-auth 文件中設置。我設置爲 1 個字母。

# vi /etc/pam.d/system-auth

password    requisite     pam_cracklib.so try_first_pass retry=3 minlen=12 lcredit=-1
複製代碼

設置密碼中最少的數字個數?

這個參數表示密碼中至少須要的數字的個數。這些是密碼強度參數,可讓密碼更健壯。當用戶設置新密碼時,系統會檢查這個參數,若是密碼中沒有數字,會收到警告提示。這個參數能夠在 /etc/pam.d/system-auth 文件中設置。我設置爲 1 個數字。

# vi /etc/pam.d/system-auth

password    requisite     pam_cracklib.so try_first_pass retry=3 minlen=12 dcredit=-1
複製代碼

設置密碼中最少的其餘字符(符號)個數?

這個參數表示密碼中至少須要的特殊符號的個數。這些是密碼強度參數,可讓密碼更健壯。當用戶設置新密碼時,系統會檢查這個參數,若是密碼中沒有特殊符號,會收到警告提示。這個參數能夠在 /etc/pam.d/system-auth 文件中設置。我設置爲 1 個字符。

# vi /etc/pam.d/system-auth

password    requisite     pam_cracklib.so try_first_pass retry=3 minlen=12 ocredit=-1
複製代碼

設置帳號鎖定?

這個參數控制用戶連續登陸失敗的最大次數。當達到設定的連續失敗登陸次數閾值時,鎖定帳號。這個參數能夠在 /etc/pam.d/system-auth 文件中設置。

# vi /etc/pam.d/system-auth

auth        required      pam_tally2.so onerr=fail audit silent deny=5
account required pam_tally2.so
複製代碼

設定帳號解鎖時間?

這個參數表示用戶解鎖時間。若是一個用戶帳號在連續認證失敗後被鎖定了,當過了設定的解鎖時間後,纔會解鎖。設置被鎖定中的帳號的解鎖時間(900 秒 = 15分鐘)。這個參數能夠在 /etc/pam.d/system-auth 文件中設置。

# vi /etc/pam.d/system-auth

auth        required      pam_tally2.so onerr=fail audit silent deny=5 unlock_time=900
account required pam_tally2.so
複製代碼

via: www.2daygeek.com/how-to-set-…

做者:Magesh Maruthamuthu 選題:lujun9972 譯者:lxbwolf 校對:wxy

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

相關文章
相關標籤/搜索