常見的PAM認證模組簡介(1) (zt)

tonykorn97發表於2006-12-16
常見的PAM認證模組簡介(1)
概述:本文介紹常見的PAM認證模組,包括每一個模組的所屬型別、功能描述以及可識別的引數,有配置檔案的,我們給出了配置檔案的簡單說明,其中一部分模組,我們還給出了配置例項。希望透過我們的介紹,使讀者對常用的PAM認證模組有一定的瞭解。本文的介紹是基於RedHat7.x系統。水平有限,不足之處請讀者批評指正。



1.pam_access認證模組

所屬型別:account

功能描述:該模組提供基於登入使用者名稱、客戶ip/主機名、網路號以及登入終端號的訪問控制。預設的,該模組的配置檔案是/etc/security/access.conf,可以使用accessfile引數指定自定義的配置檔案。

可帶引數:accessfile=/path/to/file.conf

配置檔案說明:
該檔案的每一行由如下三個欄位構成,中間使用冒號分割:
許可權 : 使用者 : 來源
許可權欄位可以是”+”(即允許訪問),”-”(禁止訪問);
使用者欄位可以是使用者名稱、組名以及諸如user@host格式的使用者名稱,ALL表示任何人,
具有多個值時,可以用空格分開。
來源欄位可以是tty名稱(本地登入時)、主機名、域名(以”.”開始),主機ip地址,網路號(以”.”結束)。ALL表示任何主機,LOCAL表示本地登入。
可以使用EXCEPT運算子來表示除了…之外。

配置例項:
只有bye2000可以從本地登入主機。
編輯/etc/pam.d/login如下所示:
#%PAM-1.0
auth required /lib/security/pam_securetty.so
auth required /lib/security/pam_stack.so service=system-auth
auth required /lib/security/pam_nologin.so
account required /lib/security/pam_stack.so service=system-auth
account required /lib/security/pam_access.so
password required /lib/security/pam_stack.so service=system-auth
session required /lib/security/pam_stack.so service=system-auth
session optional /lib/security/pam_console.so
也即加上
account required /lib/security/pam_access.so
然後在/etc/security/access.conf中加上:
-:ALL EXCEPT bye2000 : LOCAL
假如禁止root以外的任何人從任何地方登入,可以在/etc/security/access.conf中加上:
-:ALL EXCEPT root: ALL

2.pam_chroot認證模組

所屬型別:account, session, auth

功能描述:該模組為一般使用者提供一個虛根環境,該模組的配置檔案是/etc/security/chroot.conf。

可帶引數:
debug:將除錯資訊寫入日誌
onerr:定義當配置檔案無法開啟、chroot()函式失敗以及配置檔案中沒有使用者資訊時的動作,預設為”succeed”。

附加說明:該模組文件不全,沒有對chroot.conf的相關配置說明。

3.pam_cracklib認證模組

所屬型別:password

功能描述:該模組對使用者密碼提供強健性檢測。換句話說,您可以定義使用者密碼的方方面面,比如密碼長度、密碼的複雜程度等等。

可帶引數:
debug:將除錯資訊寫入日誌
type=xxx:新增/修改密碼時,系統的預設提示符是” New UNIX password:”以及” Retype UNIX password:”,使用該引數可以自定義提示符中的UNIX,比如指定type=your.
retry=N:定義新增/修改密碼失敗時,可以重試的次數。
Difok=N:定義新密碼中必須有幾個字元要與舊密碼不同。但是如果新密碼中有1/2以上的字元與舊密碼不同時,該新密碼將被接受。
minlen=N:定義密碼最小長度。
dcredit=N:定義密碼中可以包含數字的最大數目。
ucredit=N:定義密碼中可以包含的大寫字母的最大數目。
lcredit=N:定義密碼中可以包含的小寫字母的最大數目。
ocredit=N:定義密碼中可以包含的其他字元(除數字、字母之外)的最大數目。

配置例項:
請參考/etc/pam.d/system-auth檔案

4.pam_deny認證模組

所屬型別:account, session, auth,password

功能描述:該模組僅僅返回一個錯誤。用來拒絕使用者訪問。通常該模組被用來作為預設的驗證規則。

可帶引數:無

配置例項:
請參考/etc/pam.d/system-auth檔案

5.pam_env認證模組
所屬型別: auth

功能描述:該模組可以用來設定任意的環境變數,預設的,該模組的配置檔案是/etc/security/pam_env.conf,可以使用conffile引數指定自定義的配置檔案。

配置檔案說明:該配置檔案每一行(一個條目)的語法如下:
變數名 [DEFAULT=[值]] [OVERRIDE=[值]]
選項DEFAULT說明這是一個預設值;OVERRIDE則說明可以覆蓋預設值。在該配置檔案中,可以使用${變數名}的形式應用變數。除此之外,該模組還可以從/etc/environment檔案中讀入形如“變數名=值”的環境變數,當然該檔案也可以用readenv引數自己指定。需要注意的是,該檔案的讀入的值,將覆蓋conffile檔案中的預設值。

可帶引數:
debug:將除錯資訊寫入日誌
conffile=filename:指定自定義的配置檔案;
readenv=filename:指定自定義包含“變數名=值”形式的環境變數配置檔案;
readenv=1/0:設定是否從readenv中讀入環境變數,預設是1,也即讀入。

配置例項:
請參考/etc/pam.d/system-auth檔案

6.pam_filter認證模組

所屬型別:account, session, auth,password

功能描述:該模組提供對使用者和應用程式互動內容的訪問控制功能,目前僅僅具有大小寫轉換功能。該模組還有待完善。

7.pam_ftp認證模組

所屬型別:auth

功能描述:該模組提供匿名ftp使用者認證機制。

可帶引數:
debug:將除錯資訊寫入日誌
users=xxx,yyy:指定採用該模組進行認證的使用者名稱,預設為ftp和anonymous,可以用逗號進行分割;
ignore:不對使用者輸入的密碼(郵件地址)進行檢驗。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/312079/viewspace-245560/,如需轉載,請註明出處,否則將追究法律責任。

相關文章