當前位置:首頁 » 操作系統 » linux的pam

linux的pam

發布時間: 2023-03-20 10:57:17

A. Windows域怎麼限制用戶登錄linux系統

如果要在 Windows 域中限制用戶登錄 Linux 系統,可以使用以下步驟:

  • 在 Windows 域控制器上,創建一個新的用戶組,並將需塌啟衫要限制登錄 Linux 系統的用戶添加到該組中。

  • 在 Linux 系統上,使用 PAM(Pluggable Authentication Moles)模塊來限制用戶登錄。在 PAM 配置文件中,可以使用 pam_access 模塊來限制用戶登錄。

  • 在 PAM 配置文旁好件中添加如下條目,以限制 Windows 域中創建的那個用戶組中的用戶登錄 Linux 系統:

account required pam_access.so deny=group=Windows_Group

其中 「Windows_Group」 是 Windows 域中創建的那個用戶組的名稱團腔。

4.保存配置文件並重啟服務,這樣就可以限制 Windows 域中指定用戶組的用戶登錄 Linux 系統了。

注意:這只是一種可能的做法,具體實現可能因環境不同而有所差異。

B. PAM 教程:二、Linux-PAM 的配置文件

本系列講解了 Linux-PAM 的工作機制和配置方式,並利用幾個 Linux-PAM 模塊做一些有趣的小實驗。附錄中介紹了一些常用的 Linux-PAM 模塊。

本文的目標讀者是期望了解 PAM 認證機制的 Linux 用戶或者系統管理員。如果您是開發人員,希望編寫一個使用 PAM 認證的應用程序,或者是為 PAM 寫插件的開發人員,本文的內容可能並不能滿足您的需求,請參閱 《Linux-PAM應用開發搭汪指南》 (英文)和 《Linux-PAM 模塊開發指南》 (英文)。

PAM 的各個模塊一般存放在 /lib/security/ 或 /lib64/security/ 中,以動態庫文件的形式存在(可參閱 dlopen(3) ),文件名格式一般為 pam_*.so 。PAM 的配置文件可以是 /etc/pam.conf 這一個文件,也可以是 /etc/pam.d/ 文件夾內的多個文件。如果 /etc/pam.d/ 這個文件夾存在,Linux-PAM 將自動忽略 /etc/pam.conf 。

/etc/pam.conf 類型的格式如下:

/etc/pam.d/ 類型的配置文件通常以每一個使用 PAM 的程序的名稱來命令。比如 /etc/pam.d/su , /etc/pam.d/login 等等。還手枝敗有些配置文件比較通用,經常被別的配置文件引用,也放在這個文件夾下,比如 /etc/pam.d/system-auth 。這些文件的格式都保持一致:

不難看出,文件夾形式的配置文件中只是沒有了服務名稱這一列:服務名稱已經是文件名了。

由於很難在時下的發行版本中找到使用 /etc/pam.conf 這一獨立文件作為 PAM 配置的例子,此處僅就 /etc/pam.d/ 格式舉例。在筆者安裝的 CentOS(x64) 7.2.1511 中, /etc/pam.d/login 的內容如下:

# 表示注釋。

每一行代表一條規則。但也可以用 \ 來放在行末,來連接該行和下一行。

例子的最後一行開頭有一個短橫線 - ,意思是如果找不到這個模塊,導致無法被載入時,這一事件不會被記錄在日誌中。這個功能適用於那些認證時非必需的、安裝時可能沒被安裝進系統的模塊。

我們在[第一篇]({% post_url 2016-03-30-pam-tutorial-1-intro %})中接觸了 Linux-PAM 的四種工作類別(type)。在上面的例子中,工作類別作為第一列出現。

講到這里,我們有必要聊一聊 PAM 的 流程棧(stack) 概念:它是認證時執行步驟和規則的堆疊。在某個服務的配置文件中,它體現在了配置文件中的自上而下的執行順序中。棧是可以被引用的,即在一個棧(或者流程)中嵌入另一個棧。我們之後和它會有更多的接觸。

第二列為 控制模式(control) ,用於定義各個認證模塊在給出各種結果時 PAM 的行為,或者調用在別的配置文件中定義的認證流程棧。該列有兩種形式,一種是比較常見的「關鍵字」模式,另一種則是用方括弧( [] )包含的「返回值=行為」模式。

「關鍵字」模式下,有以下幾種控制模式:

「返回值=行為」模式則更為復雜,其格式如下:

其中, valueN 的值是各個認證模塊執行之後的返回值。有 success 、 user_unknown 、 new_authtok_reqd 、 default 等等數十種。其中, default 代表其他所有沒有明確說明的返回值。返回值結果清單可以在 /usr/include/security/_pam_types.h 中畢顫找到,也可以查詢 pam(3) 獲取詳細描述。

流程棧中很可能有多個驗證規則,每條驗證的返回值可能不盡相同,那麼到底哪一個驗證規則能作為最終的結果呢?這就需要 actionN 的值來決定了。 actionN 的值有以下幾種:

我們在前文中已經介紹了控制模式(contro)的「關鍵字」模式。實際上,「關鍵字」模式可以等效地用「返回值=行為」模式來表示。具體的對應如下:

正如前文所述,模塊一般保存在 /lib/security 或 /lib64/security 中(取決於操作系統位數)。Linux-PAM 配置文件中的模塊位置可以是相對於上述文件夾的相對路徑,也可以是文件的全路徑。

模塊參數用空格與模塊路徑相隔。該參數將只和特定模塊相關,因此某個模塊的文檔中一定包含其參數的信息。如果需要在單個參數中使用空格,可以將整個參數用方括弧( [] )包裹起來。

C. linux中的PAM到底是什麼 如何使用配置呢 麻煩說的通俗點

簡單地說,PAM主要是由一組共享庫文件(也就是後綴名為.so文件)和一些配置文敗段件組成的用於系統服務授權的一套東西,其中,PAM 就是 Pluggable Authentication Moles 這幾個英文單詞的縮寫。當你在請求服務的時候,具有PAM認證功能的應用程序將與這些.so文件進行交互,以便得知是否可以授權給發起請求的用戶來使用服務,比如su, vsftp, httpd,等。如果認證成功了,那麼這個用戶便可以使用服務或完成命令,如果認證失敗了,那麼這個用戶將不能使用服務,同時,PAM將向廳枯纖指定的log文件寫入警告信息。我們可以將PAM看作是一個中間裁判,它不依賴於任何應用或服務。你完全可以升級這些應用或服務而不必管PAM的共享庫的更新扮仿或升級,反之亦然。所以它非常的靈活。

D. linux嘗試登錄失敗後鎖定用戶賬戶的兩種方法

pam_tally2模塊(方法一)

用於對系統進行失敗的ssh登錄嘗試後鎖定用戶帳戶。此模塊保留已嘗試訪問的計數和過多的失敗嘗試。

配置

使用 /etc/pam.d/system-auth 或 /etc/pam.d/password-auth 配置文件來配置的登錄嘗試的訪問

注意:

auth要放到第二行,不然會導致用戶超過3次後也可登錄。

如果對root也適用在auth後添加 even_deny_root .

auth required pam_tally2.so deny=3 even_deny_root unlock_time=600

pam_tally2命令

查看用戶登錄失敗的信息

解鎖用戶

pam_faillock 模塊(方法二)

在紅帽企業版 Linux 6 中, pam_faillock PAM 模塊允許系統管理員鎖定在指定次數內登錄嘗試失敗的用戶賬戶。限制用戶登錄嘗試的次數主要是作為一個安全措施,旨在防止可能針對獲取用戶的賬戶密碼的暴力破解

通過 pam_faillock 模塊,將登錄嘗試失敗的數據儲存在 /var/run/faillock 目錄下每位用戶的獨立文件中

配置

添加以下命令行到 /etc/pam.d/system-auth 文件和 /etc/pam.d/password-auth 文件中的對應區段:

auth required pam_faillock.so preauth silent audit deny=3 unlock_time=600

auth sufficient pam_unix.so nullok try_first_pass

auth [default=die] pam_faillock.so authfail audit deny=3

account required pam_faillock.so

注意:

auth required pam_faillock.so preauth silent audit deny=3 必須在最前面。

適用於root在 pam_faillock 條目里添加 even_deny_root 選項

faillock命令

查看每個用戶的嘗試失敗次數

$ faillock

test:

When Type Source Valid

2017-06-20 14:29:05 RHOST 192.168.56.1 V

2017-06-20 14:29:14 RHOST 192.168.56.1 V

2017-06-20 14:29:17 RHOST 192.168.56.1 V

解鎖一個用戶的賬戶

E. Linux 密碼復雜度設置pam_pwquality、pam_passwdqc(centos7)

1、Linux對應的密碼策略模塊有:pam_passwdqc 和 pam_pwquality 。其中pam_passwdqc模塊對應的是/etc/login.defs,pam_pwquality對應的是/etc/security/pwquality.conf
2、模塊的添加方法:/etc/pam.d/passwd
password required pam_pwquality.so retry=3
3、模塊的配置方法有兩種:
一、password required pam_pwquality.so dcredit=-1 ucredit=-1 ocredit=-1 lcredit=0
二、添加到/etc/security/pwquality.conf 中
4、/etc/security/pwquality.conf詳解:
retry=N:定義登錄/修改密碼失敗時,可以重試的次數;
Difok=N:定義新密碼中必須有幾個字元要與舊密碼不同。但是如果新密碼中有1/2以上的字元與舊密碼不同時,該新密碼將被接受;
minlen=N:定義用戶密碼的最小長度;
dcredit=N:定義用戶密碼中必須包含多少個數字;
ucredit=N:定義用戶密碼中必須包含多少個大寫字母;
lcredit=N:定義用戶密碼中必須包含多少個小些字母;
ocredit=N:定義用戶密碼中必須包含多少個特殊字元(除數字、字母之外);
其中 =-1表示,至少有一個
5、/etc/login.defs詳解:
PASS_MAX_DAYS 99999 #密碼的最大有效期, 99999:永久有期
PASS_MIN_DAYS 0 #是否可修改密碼,0可修改,非0多少天後可修改
PASS_MIN_LEN 5 #密碼最小長度,使用pam_cracklib mole,該參數不再有效
PASS_WARN_AGE 7 #密碼失效前多少天在用戶登錄時通知用戶修改密碼
6、實際生產環境配置
/etc/security/pwquality.conf :
minlen = 8
minclass = 1
maxrepeat = 0
maxclassrepeat = 4
lcredit = -1
ucredit = -1
dcredit = -1
ocredit = -1
difok=5
/etc/login.defs:
PASS_MAX_DAYS 90
PASS_MIN_LEN 12
PASS_MIN_DAYS 7
PASS_WARN_AGE 30
UMASK 077

F. Linux認證的概念

Linux認證的概念

RHCA(Red Hat Certified Architect),是RedHat公司在2004年推出的頂級認證,也是Linux界公認的操作系統最高級認證。下面是我整理的關於Linux認證的概念,歡迎大家參考!

Linux用戶認證方法簡介

當今IT環境中,任何計算機系統都要充分考慮設計、使用和運行過程中的安全性。所以在目前主流操作系統的各個環節當中都增加了很多安全方面的功能和特性,而在眾多的安全特性和功能中有相當多的技術是確保用戶鑒別和身份認證方面的安全性的。

所謂用戶鑒別,就是用戶向系統以一種安全的方式提交自己的身份證明,然後由系統確認用戶的身份是否屬實的過程。換句話說,用戶鑒別是系統的門戶,每個用戶進入到系統之前都必須經過鑒別這一道關。 而所謂認證安全,簡而言之就是計算機系統確認了用戶是經過授權的合法用戶之後才能允許訪問。安全認證最常用的方式是比對用戶輸入和預存於資料庫中的密碼。

不過在用戶進行身份鑒別和安全認證的過程中,肯定會涉及幾個核心問題。例如:

如何真正實現正確鑒別用戶的真實身份?

在鑒別用戶合法身份之後,如何確定用戶可以對哪些資源進行訪問?

如何控制用戶以何種方式來訪問計算機資源?

如何對用戶的安全訪問隨時隨地按需調整?

上述這些問題都是在設計鑒別和認證程序過程中需要充分考慮和精心設計的。而在Linux類的操作系統中,這些問題的處理實際上有一套完整的流程和機制。

在Linux類的操作系統中,最初用戶鑒別過程就像各種Unix操作系統一樣:系統管理員為用戶建立一個帳號並為其指定一個口令,用戶用此指定的口令登錄之後重新設置自己的口令,這樣用戶就具有了一個只有它自己知道的口令或者密碼。一般情況下,用戶的身份信息在Linux系統中存放在/etc/passwd文件當中,這實際上是一個擁有簡單格式的資料庫表,通過":"作為分隔符分隔出多個欄位,其中包括用戶的名稱、用戶ID、組ID、用戶說明、主目錄和登錄使用的shell等相關信息。而用戶口令經過加密處理後存放於/etc/shadow 文件中。也是一個格式類似的資料庫表,除了用戶名和經過加密之後的密碼之外,還包括多個對密碼有效期進行定義的欄位,包括密碼有效時間、密碼報警時間等。

用戶登錄的時候,登錄服務程序提示用戶輸入其用戶名和口令,然後將口令加密並與/etc/shadow 文件中對應帳號的加密口令進行比較,如果口令相匹配,說明用戶的身份屬實並允許此用戶訪問系統。這種思想基於只有用戶自己知道它的口令,所以輸入的口令是正確的話,那麼系統就認定它是所聲稱的那個人。

在Linux類操作系統中,定義用戶信息和密碼信息的欄位和格式都需要符合標準的Linux Naming Service Switch定義,即NSS定義。因此用戶信息只要保證滿足NSS規范,就可以來源於本地passwd和shadow之外的其它信息資料庫和認證源。所以在此基礎上還派生出一些其它認證解決方案。例如NIS、LDAP等,都可作為存放用戶信息的資料庫,而存放用戶口令或者鑒別用戶身份的資料庫,可以採用專用於網路環境的Kerberos以及智能卡鑒別系統等方式。

這一整套的鑒別和認證方案貌似無懈可擊,但是將這種解決方案真正應用到操作系統中的話就會發現一些問題:

第一,在操作系統上所包含的認證不僅僅只涉及到系統登錄和訪問,在系統外圍往往提供了眾多的應用程序,相當多的應用程序在訪問過程中是有認證需求的。那麼是否需要針對每一個應用程序都得加入認證和鑒別的功能?如果要,那麼無論從程序的開發和使用管理角度來講,工作量都將成倍增加;如果不要,則系統級的用戶鑒別和安全認證與應用程序沒有任何關系,意味著不管用戶是否需要登錄系統,但是對應用程序的訪問都將缺乏最基本的安全性。

第二,如果針對每一個應用程序都開發用戶鑒別和認證的功能,那麼一旦發現所用的.演算法存在某些缺陷或想採用另一種鑒別和認證方法時,開發者或者用戶都將不得不重寫(修改或替換)應用程序,然後重新編譯原程序。

所以,尤其是當實現鑒別功能的代碼以通常方法作為應用程序一部分一起編譯的時候,上述問題將十分突出。很明顯,傳統的身份鑒別和用戶認證方式一旦整合到實際的操作系統中,在實用當中缺乏靈活性。

鑒於以上原因,Linux操作系統的開發者和設計人員開始尋找一種更佳的替代方案:一方面,將鑒別功能從應用中獨立出來,單獨進行模塊化的設計,實現和維護;另一方面,為這些鑒別模塊建立標準的應用程序介面即API,以便眾多的應用程序能方便地使用它們提供的各種功能;同時,鑒別機制對上層用戶(包括應用程序和最終用戶)要求一定要是透明的,這樣可以對使用者隱藏其中比較復雜的實現細節。

可插拔認證模塊PAM的基本概念

事實上直到1995年的時候,SUN的研究人員才提出了一種滿足以上需求的方案,這就是可插拔認證模塊(Pluggable Authentication Mole--PAM)機制,並首次在其操作系統 Solaris 2.3上部分實現。

可插拔認證模塊(PAM)機制採用模塊化設計和插件功能,使用戶可以輕易地在應用程序中插入新的認證模塊或替換原先的組件,同時不必對應用程序做任何修改,從而使軟體的定製、維持和升級更加輕松。因為認證和鑒別機制與應用程序之間相對獨立。所以應用程序可以通PAM API來方便地使用PAM提供的各種鑒別功能而不必了解太多的底層細節。此外PAM的易用性也較強,主要表現在它對上層屏蔽了鑒別和認證的具體細節,所以用戶不必被迫學習各種各樣的鑒別方式,也不必記住多個口令;又由於它實現了多鑒別認證機制的集成問題,所以單個程序可以輕易集成多種鑒別機制,如Kerberos和Diffie - Hellman等認證機制,但用戶仍可以用同一個口令登錄而且感覺不到採取了各種不同的鑒別方法。

在廣大開發人員的努力下,各版本的UNIX系統陸續增加和提供了對PAM應用的支持。其中Linux-PAM是專門為Linux操作系統實現的,眾多的Linux操作系統包括Caldera、Debian、Turbo、Red Hat、SuSE 及它們的後續版本都提供對PAM的支持。而FreeBSD從3.1版本也開始支持PAM。而且除了具體實現方法上多少有些不同外,各種版本Unix系統上PAM的框架是相同的。所以我們在這里介紹的Linux的PAM框架知識具有相當的普遍性,而且在下文介紹其框架過程中可以看到,我們並沒有刻意區分Unix PAM與Linux PAM這兩個技術術語。

PAM的分層體系結構

PAM 為了實現其插件功能和易用性,採取了分層設計思想。就是讓各鑒別模塊從應用程序中獨立出來,然後通過PAM API作為兩者聯系的紐帶,這樣應用程序就可以根據需要靈活地在其中"插入"所需要的鑒別功能模塊,從而真正實現了在認證和鑒別基礎上的隨需應變。實際上,這一思路也非常符合軟體設計中的"高內聚,低耦合"這一重要思想。

PAM 的體系如下簡圖所示:

從上面的結構圖可以看出,PAM 的API起著承上啟下的作用,它是應用程序和認證鑒別模塊之間聯系的紐帶和橋梁:當應用程序調用PAM API 時,應用介面層按照PAM配置文件的定義來載入相應的認證鑒別模塊。然後把請求(即從應用程序那裡得到的參數)傳遞給底層的認證鑒別模塊,這時認證鑒別模塊就可以根據要求執行具體的認證鑒別操作了。當認證鑒別模塊執行完相應的操作後,再將結果返回給應用介面層,然後由介面層根據配置的具體情況將來自認證鑒別模塊的應答返回給應用程序。

上面描述了PAM的各個組成部分以及整體的運作機理。下面將對PAM中的每一層分別加以介紹。

第一層:模塊層。模塊層處於整個PAM體系結構中的最底層,它向上為介面層提供用戶認證鑒別等服務。也就是說所有具體的認證鑒別工作都是由該層的模塊來完成的。對於應用程序,有些不但需要驗證用戶的口令,還可能要求驗證用戶的帳戶是否已經過期。此外有些應用程序也許還會要求記錄和更改當前所產生的會話類的相關信息或改變用戶口令等。所以PAM在模塊層除了提供鑒別模塊外,同時也提供了支持帳戶管理、會話管理以及口令管理功能的模塊。當然,這四種模塊並不是所有應用程序都必需的,而是根據需要靈活取捨。比如雖然login可能要求訪問上述所有的四種模塊,但是su可能僅僅需要使用到鑒別模塊的功能即可。至於如何取捨則涉及到介面層的PAM API和配置文件,這部分內容將在後文中加以介紹。

第二層:應用介面層。應用介面層位於PAM結構的中間部分,它向上為應用程序屏蔽了用戶鑒別等過程的具體細節,向下則調用模塊層中的具體模塊所提供的特定服務。由上圖可以看出,它主要由PAM API和配置文件兩部分組成,下面將逐一介紹。

PAM API可以分為兩類:一類是用於調用下層特定模塊的介面,這類介面與底層的模塊相對應,包括:

鑒別類介面:pam_authenticate()用於鑒別用戶身份,pam_setcred()用於修改用戶的私密信息。

帳號類介面:pam_acct_mgmt()用於檢查受鑒別的用戶所持帳戶是否有登錄系統許可,以及該帳戶是否已過期等。

會話類介面:包括用於會話管理和記帳的 pam_open_session()和 pam_close_session()函數。

口令類介面:包括用於修改用戶口令的 pam_chauthtok()。

第二類介面通常並不與底層模塊一一對應,它們的作用是對底層模塊提供支持以及實現應用程序與模塊之間的通信等。具體如下:

管理性介面: 每組 PAM 事務從 pam_start()開始,結束於 pam_end()函數。介面 pam_get_item()和 pam_set_item()用來讀寫與 PAM 事務有關的狀態信息。同時,能夠用 pam_str()輸出 PAM 介面的出錯信息。

應用程序與模塊間的通訊介面:在應用程序初始化期間,某些諸如用戶名之類的數據可以通過 pam_start()將其存放在PAM介面層中,以備將來底層模塊使用。另外底層模塊還可以使用 pam_putenv()向應用程序傳遞特定的環境變數,然後應用程序利用pam_getenv()和pam_getenvlist()讀取這些變數。

用戶與模塊間的通訊介面:pam_start()函數可以通過會話式的回調函數,讓底層模塊通過它們讀寫模塊相關的鑒別信息,比如以應用程序所規定的方式提示用戶輸入口令。

模塊間通訊介面:盡管各模塊是獨立的,但是它們仍然能夠通過pam_get_item()和pam_set_item()介面共享某些與鑒別會話有關的公用信息,諸如用戶名、服務名、口令等。此外,這些API還可以用於在調用pam_start()之後,讓應用程序修改狀態信息。

讀寫模塊狀態信息的介面:介面pam_get_data()和pam_set_data()用以按照PAM句柄要求訪問和更新特定模塊的信息。此外,還可以在這些模塊後附加一個清除數據函數,以便當調用 pam_end()時清除現場。

由於 PAM 模塊隨需載入,所以各模塊始化任務在第一次調用時完成。如果某些模塊的清除任務必須在鑒別會話結束時完成,則它們應該使用 pam_set_data()規定清除函數,這些執行清除任務的函數將在應用程序調用 pam_end()介面時被調用。

;

G. 利用linux pam實現安全驗證與管理

大家都知道現在很多電腦軟體都有限制用戶登陸失敗次數的限制,Linux也是如此,當你登錄失敗多次後就可以限制用戶登錄,從而起純拆到保護電腦安全的作用,通過PAM模塊即可實現,下面隨我一起來了解下吧。 Linux有一個pam_tally2.so的PAM模塊,來限定用戶的登錄失兄嫌敗次數,如果次數達到設置的閾值,則鎖定用戶。 編譯PAM的配置文件# vim /etc/pam.d/login #%PAM-1.0 auth required pam_tally2.so deny=3 lock_time=300 even_deny_root root_unlock_time=10 auth [user_unknown=ignore success=ok ignoreignore=ignore default=bad] pam_securetty.so auth include system-auth account required pam_nologin.so account include system-auth password include system-auth # pam_selinux.so close should be the first session rule session required pam_selinux.so close session optional pam_keyinit.so force revoke session required pam_loginuid.so session include system-auth session optional pam_console.so # pam_selinux.so open should only be followed by sessions to be executed in the user context session required pam_selinux.so open 各參數解釋 even_deny_root 也限制root用戶; deny 設置普通用戶和root用戶連續錯誤登陸的最大次數,超過最大次數,則鎖定該用戶 unlock_time 設定普通用戶鎖定後,多少時間後解鎖,單位是秒; root_unlock_time 設定root用戶鎖定後,多少時間後解鎖羨褲手,單位是秒; 此處使用的是 pam_tally2 模塊,如果不支持 pam_tally2 可以使用 pam_tally 模塊。另外,不同的pam版本,設置可能有所不同,具體使用方法,可以參照相關模塊的使用規則。 在#%PAM-1.0的下面,即第二行,添加內容,一定要寫在前面,如果寫在後面,雖然用戶被鎖定,但是只要用戶輸入正確的密碼,還是可以登錄的! 最終效果如下圖 這個只是限制了用戶從tty登錄,而沒有限制遠程登錄,如果想限制遠程登錄,需要改SSHD文件# vim /etc/pam.d/sshd #%PAM-1.0 auth required pam_tally2.so deny=3 unlock_time=300 even_deny_root root_unlock_time=10 auth include system-auth account required pam_nologin.so account include system-auth password include system-auth session optional pam_keyinit.so force revoke session include system-auth session required pam_loginuid.so 同樣是增加在第2行! 查看用戶登錄失敗的次數 [root@node100 pam.d]# pam_tally2 --user RedHat Login Failures Latest failure From redhat 7 07/16/12 15:18:22 tty1 解鎖指定用戶 [root@node100 pam.d]# pam_tally2 -r -u redhat Login Failures Latest failure From redhat 7 07/16/12 15:18:22 tty1 這個遠程ssh的時候,沒有提示,我用的是Xshell,不知道其它終端有沒提示,只要超過設定的值,輸入正確的密碼也是登陸不了的! 上面就是Linux通過PAM模塊限制用戶登錄次數的方法,最好設置下,以免別人用工具破解你的電腦,竊取你的隱私信息。

H. linux中哪些無關賬號需要鎖定

linux中需要鎖定賬號的情況為:

用戶在指定時間內輸入錯誤密碼的次數達到了相應的次數,賬戶鎖定策略就會將該用戶禁用。

linux對賬戶的鎖定功能比windows的要更加廣泛,強大,windows組策略中的限制,只是在系統層面的限制。

而linux藉助pam(Pluggable Authentication Moles,插件式認證模塊)的強大,不單止可以系統層面實現,還能在各中支持pam的應用中實現這種安全鎖定策略。

linux中PAM通過提供一些動態鏈接庫和一套統一的API,將系統提供的服務和該服務的認證方式分開,使得系統管理員可以靈活地根據需要給不同的服務配置不同的認證方式而無需更改服務程序,同時也便於向系統中添加新的認證手段。

PAM最初是集成在Solaris中,目前已移植到其它系統中,如Linux、SunOS、HP-UX9.0等。

PAM的配置是通過單個配置文件/etc/pam.conf。RedHat還支持另外一種配置方式,即通過配置目錄/etc/pam.d/,且這種的優先順序要高於單個配置文件的方式。

(8)linux的pam擴展閱讀:

在 Linux 中鎖定、解鎖和檢查給定用戶帳戶的狀態的操作:

找到同時有「password」和「pam_unix.so」欄位並且附加有「remember=5」的那行,它表示禁止使用最近用過的5個密碼(己使用過的密碼會被保存在/etc/security/opasswd下面)。

找到同時有「password」和「pam_cracklib.so」欄位並且附加有「minlen=10」的那行,它表示最小密碼長度為(10-類型數量)。這里的「類型數量」表示不同的字元類型數量。PAM提供4種類型符號作為密碼(大寫字母、小寫字母、數字和標點符號)。

如果密碼同時用上了這4種類型的符號,並且你的minlen設為10,那麼最短的密碼長度允許是6個字元。

使用配置目錄/etc/pam.d/,該目錄下的每個文件的名字對應服務名,例如ftp服務對應文件/etc/pam.d/ftp。

如果名為xxxx的服務所對應的配置文件/etc/pam.d/xxxx不存 在,則該服務將使用默認的配置文件/etc/pam.d/other。每個文件由如下格式的文本行所構成:

mole-typecontrol-flagmole-patharguments;每個欄位的含義和/etc/pam.conf中的相同。

密碼復雜度通過/etc/pam.d/system-auth這個文件來實現的。

I. 系統之家Linux如何通過PAM限制用戶登錄失敗次數怎麼辦

現在很多地方都有限制用戶登錄的功能,Linux也是如此,當你登錄失敗多次後就可以限制用戶登錄,從而起到保護電腦安全的作用,通過PAM模塊即可實現,下面隨小編一起來了解下吧。
Linux有一個pam_tally2.so的PAM模塊,來限定用戶的登錄失敗次數,如果次數達到設置的閾值,則鎖定用戶。
編譯PAM的配置文件#
vim
/etc/pam.d/login
#%PAM-1.0
auth
required
pam_tally2.so
deny=3
lock_time=300
even_deny_root
root_unlock_time=10
auth
[user_unknown=ignore
success=ok
ignoreignore=ignore
default=bad]
pam_securetty.so
auth
include
system-auth
account
required
pam_nologin.so
account
include
system-auth
password
include
system-auth
#
pam_selinux.so
close
should
be
the
first
session
rule
session
required
pam_selinux.so
close
session
optional
pam_keyinit.so
force
revoke
session
required
pam_loginuid.so
session
include
system-auth
session
optional
pam_console.so
#
pam_selinux.so
open
should
only
be
followed
by
sessions
to
be
executed
in
the
user
context
session
required
pam_selinux.so
open
各參數解釋
even_deny_root
也限制root用戶;
deny
設置普通用戶和root用戶連續錯誤登陸的最大次數,超過最大次數,則鎖定該用戶
unlock_time
設定普通用戶鎖定後,多少時間後解鎖,單位是秒;
root_unlock_time
設定root用戶鎖定後,多少時間後解鎖,單位是秒;
此處使用的是
pam_tally2
模塊,如果不支持
pam_tally2
可以使用
pam_tally
模塊。另外,不同的pam版本,設置可能有所不同,具體使用方法,可以參照相關模塊的使用規則。
在#%PAM-1.0的下面,即第二行,添加內容,一定要寫在前面,如果寫在後面,雖然用戶被鎖定,但是只要用戶輸入正確的密碼,還是可以登錄的!

J. Linux裡面pam是什麼

Linux-PAM(linux可插入認證模塊)是一套共享庫,使本地系統管理員乎枯可以隨意選擇程序的認證方式。Linux-PAM有四種模塊類型,分別代表四埋檔種不同的任務,歲液洞它們是:認證管理(auth),賬號管理(account),會話管理(session)和密碼(password)管理。

熱點內容
阿里雲桌面和伺服器區別 發布:2025-08-28 04:13:51 瀏覽:96
stl常用演算法 發布:2025-08-28 04:01:28 瀏覽:440
貨運發布源碼 發布:2025-08-28 03:44:26 瀏覽:438
希望之村怎麼進單人伺服器教程 發布:2025-08-28 03:35:54 瀏覽:836
資料庫題型 發布:2025-08-28 03:35:19 瀏覽:167
python列表元素 發布:2025-08-28 03:35:08 瀏覽:736
康奈爾大學專業訪問學者 發布:2025-08-28 03:33:35 瀏覽:980
馬恩資料庫 發布:2025-08-28 02:56:58 瀏覽:359
如何搭建自己的kms伺服器 發布:2025-08-28 02:46:29 瀏覽:860
java取對象的屬性 發布:2025-08-28 02:35:29 瀏覽:718