国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
了解和配置?PAM
插入式驗證模塊(Pluggable Authentication Module,PAM)API 將公開一組功能,應(yīng)用程序程序員可以使用這些功能來實現(xiàn)與安全性相關(guān)的功能,例如用戶驗證、數(shù)據(jù)加密、LDAP 等。在本文中,獲得在 Linux 中使用 PAM 模塊的基本指南,了解如何配置 PAM,并了解如何通過 10 個簡單步驟設(shè)計樣例 PAM 登錄應(yīng)用程序。

對于 Linux 用戶,安全地共享文件是一項麻煩的任務(wù)。例如,需要費力地回想多個密碼,并且重新設(shè)計系統(tǒng)訪問應(yīng)用程序(如 login、supassword、ftp 等)十分耗費時間。增加這一復(fù)雜度的是驗證 過程,在該過程中,系統(tǒng)將識別用戶并為該用戶提供相應(yīng)的訪問控制。

PAM 的使用歷史記錄

PAM 是關(guān)注如何為服務(wù)驗證用戶的 API。在使用 PAM 之前,諸如 login(和 rlogin、telnet、rsh)之類的應(yīng)用程序在 /etc/passwd 中查找用戶名,然后將兩者相比較并驗證用戶輸入的名稱。所有應(yīng)用程序使用了這些共享服務(wù),但是并未共享實現(xiàn)細(xì)節(jié)和配置這些服務(wù)的權(quán)限。

接下來,應(yīng)用程序開發(fā)人員嘗試編寫自定義過程代碼。在此過程中,需要分離應(yīng)用程序與安全模塊(通用安全模塊可以在應(yīng)用程序之間共享并且可以根據(jù)需求進(jìn)行配置)。

PAM 機制將把多個低級別驗證模式集成到高級別 API 中,該 API 將允許以獨立于底層驗證模式的方式編寫使用驗證的程序。PAM 的主要特征表現(xiàn)為通過 /etc/pam.d/etc/pam.conf 文件實現(xiàn)動態(tài)驗證配置。

PAM 可以被配置為拒絕某些程序?qū)τ脩暨M(jìn)行驗證,或者在某些程序嘗試驗證時發(fā)出警告。PAM 程序?qū)⑹褂?PAM 模塊(驗證模塊):這些模塊在運行時與應(yīng)用程序綁定在一起才能工作。

圖 1 顯示了 PAM 模塊的基本流程。


圖 1. PAM 庫將解析配置文件并將模塊裝入其中

哪些操作系統(tǒng)支持 PAM?

PAM 最初是由 Sun Microsystems 于 1995 年開發(fā)的,并且以下操作系統(tǒng)版本(及更高版本)都提供支持:

  • RedHat 5.0
  • SUSE 6.2
  • Debian 2.2
  • Mandrake 5.2
  • Caldera 1.3
  • TurboLinux 3.6

最新版本的 Solaris™、AIX®、HP-UX 和 Mac OS® X 也支持 PAM。PAM 后來被標(biāo)準(zhǔn)化為 X/Open UNIX® 標(biāo)準(zhǔn)化流程(在 X/Open 單點登錄服務(wù)(XSSO)架構(gòu)中)的一部分。

我可以獲得哪種 PAM?

雖然沒有進(jìn)行嚴(yán)格劃分,但是可以認(rèn)為有三種 PAM:

  1. Linux-PAM:Linux-PAM 涵蓋了本文中討論的所有 PAM。在任何一個 Linux 平臺中的 PAM 的主要結(jié)構(gòu)都類似于 Linux-PAM 版本。
  2. OpenPAM:OpenPAM 是由 NAI 實驗室的 Dag-Erling Smorgrav 開發(fā)的另一個 PAM 實現(xiàn),屬于 DARPA-CHATS 研究項目。由于它是開源的,因此它主要由 FreeBSD、NetBSD 及應(yīng)用程序(加上 Mac OS X)使用。
  3. Java™ PAM 或 JPam:PAM 主要是支持 Linux 和 UNIX 的標(biāo)準(zhǔn)驗證模塊。JPam 將 Java 部分與普通 PAM 聯(lián)系了起來。JPam 允許基于 Java 的應(yīng)用程序使用 PAM 模塊或工具(如 auth、account、passwdsession 等)。它提供了 JAAS 和直接 API,并且支持大多數(shù) Unix OS 和架構(gòu)。

雖然這些是不同的 PAM,但是其主要功能仍然相同。

PAM 模塊是什么樣子的?

安裝 PAM 是一個逐步的過程。要獲得安裝說明,請參閱 參考資料。

PAM 模塊是按模塊類型歸類的。任何給定的模塊至少要實現(xiàn)四種模塊類型功能之一:

  1. 驗證模塊用于驗證用戶或設(shè)置/銷毀憑證。
  2. 帳戶管理模塊將執(zhí)行與訪問、帳戶及憑證有效期、密碼限制/規(guī)則等有關(guān)的操作。
  3. 會話管理模塊用于初始化和終止會話。
  4. 密碼管理模塊將執(zhí)行與密碼更改/更新有關(guān)的操作。

PAM 將提供不同的功能,例如單點登錄驗證、訪問控制等。每個功能的實現(xiàn)都是由不同的模塊處理的。下面是一些主要模塊:

  • pam_access 將使用登錄名/域名,根據(jù) /etc/security/access.conf 中的預(yù)定義規(guī)則交付日志守護(hù)進(jìn)程樣式的登錄訪問控制。
  • pam_cracklib 將根據(jù)密碼規(guī)則檢查密碼。
  • pam_env sets/unsets 環(huán)境變量來自 /etc/security/pam_env_conf。
  • pam_debug 將調(diào)試 PAM。
  • pam_deny 將拒絕 PAM 模塊。
  • pam_echo 將打印消息。
  • pam_exec 將執(zhí)行外部命令。
  • pam_ftp 是匿名訪問模塊。
  • pam_localuser 要求將用戶列于 /etc/passwd 中。
  • pam_unix 將通過 /etc/passwd 提供傳統(tǒng)密碼驗證。

還有許多其他模塊(pam_userdb、pam_warn、pam_xauth),這些模塊將獲取返回的一組值(這些模塊的詳細(xì)信息可以在 參考資料 的 PAM 管理指南中找到)。

配置 PAM

PAM 配置通常是在 /etc/pam.d/etc/pam.conf(用于舊版本)中的配置文件中實現(xiàn)的。

配置文件的結(jié)構(gòu)

對于使用 PAM 的各項服務(wù),目錄中都有一個對應(yīng)的文件,其中包含應(yīng)當(dāng)如何獲取該服務(wù)的驗證及帳戶信息的規(guī)則或說明。通常每一行有一個規(guī)則。

PAM 配置文件中的字段包括:

  • Service_name 將指定服務(wù)/應(yīng)用程序的名稱(默認(rèn)值為 OTHER)。
  • Module_type 將為 Service_name 字段中的相應(yīng)服務(wù)指定模塊類型(auth/account/session/passwd)。
  • Control_flag 將指定模塊的堆棧行為。它可以獲取諸如 requisiterequired、sufficientoptional 之類的值。
  • Module_path 將指定實現(xiàn)模塊的庫對象的路徑名稱。默認(rèn)情況下,它將被設(shè)為 /lib/security。
  • Module_options/module_args(可選字段)將指定可以傳遞給服務(wù)模塊的選項或?qū)崊ⅰ?

模塊將按照在配置文件中列出的順序被調(diào)用,這取決于每個條目允許的 Control_flag 的值。Control_flag 值包括:

  • Required:堆棧中的所有 Required 模塊必須看作一個成功的結(jié)果。如果一個或多個 Required 模塊失敗,則實現(xiàn)堆棧中的所有 Required 模塊,但是將返回第一個錯誤。
  • Sufficient:如果標(biāo)記為 sufficient 的模塊成功并且先前沒有 Required 或 sufficient 模塊失敗,則忽略堆棧中的所有其余模塊并返回成功。
  • Optional:如果堆棧中沒有一個模塊是 required 并且沒有任何一個 sufficient 模塊成功,則服務(wù)/應(yīng)用程序至少要有一個 optional 模塊成功。

PAM 配置文件示例

表 1 顯示了各種操作系統(tǒng)中的 PAM 配置文件的一些示例。


表 1. PAM 配置文件的世界

系統(tǒng) 配置文件所在位置 類型 Control_flag 模塊
Red Hat /etc/pam.d auth required /lib/security/pam_unix.so
Red Hat /etc/pam.d account sufficient /lib/security/pam_unix.so
Red Hat /etc/pam.d session required /lib/security/pam_limit.so
AIX /etc/pam.conf auth required /usr/lib/security/pam_aix
AIX /etc/pam.conf account required /usr/lib/security/pam_aix
AIX /etc/pam.conf password required /usr/lib/security/pam_aix
zSUSE 64-bit | 32-bit /etc/pam.conf auth required /lib64/security/pam_unix.so | /lib/security/pam_unix.so
zSUSE 64-bit | 32-bit /etc/pam.conf account required /lib64/security/pam_unix.so | /lib/security/pam_unix.so
zSUSE 64-bit | 32-bit /etc/pam.conf session required /lib64/security/pam_unix.so | /lib/security/pam_unix.so
Solaris /etc/pam.conf auth required /usr/lib/security/pam_unix.so.1
Solaris /etc/pam.conf account required /usr/lib/security/pam_unix.so.1
Solaris /etc/pam.conf password required /usr/lib/security/pam_unix.so.1
HP-UX /etc/pam.conf auth required libpam_unix.so.1
HP-UX /etc/pam.conf account required libpam_unix.so.1
HP-UX /etc/pam.conf password required libpam_unix.so.1

PAM 的 “other” 文件

默認(rèn)的 PAM 配置文件 /etc/pam.d 用于沒有明確配置的所有其他服務(wù),并且可能是 PAM 所依賴的最簡單而又最健壯的默認(rèn)文件。該文件內(nèi)部類似如下所示:

/etc/pam.d/other File

auth required pam_warn.so
auth required pam_deny.so
account required pam_warn.so
account required pam_deny.so
password required pam_warn.so
password required pam_deny.so
session required pam_warn.so
session required pam_deny.so

 

此文件非常簡單。對于所有模塊類型,Control_flag 都是一樣的:required。調(diào)用兩個模塊:

  1. 首先,調(diào)用 pam_warn.so 來記錄關(guān)于正在進(jìn)行的嘗試的信息。
  2. 然后調(diào)用 pam_deny.so 僅返回錯誤并防止發(fā)生任何類型的連接或驗證。

因此,使用 PAM 的所有服務(wù)都必須被明確配置為允許驗證;否則,嘗試將失敗。

設(shè)計簡單 PAM 登錄應(yīng)用程序的 10 個步驟

這 10 個步驟可以幫助您實現(xiàn)自己的 PAM 應(yīng)用程序并幫助您了解 PAM 會話的工作方式:

  1. 包括 PAM 實現(xiàn)的頭文件(例如,pam_appl.h、pam_misc.h)。
  2. main 函數(shù)中,使用惟一的句柄初始化 PAM 庫 libpam.so(該庫將裝入應(yīng)用程序的配置文件中指定的模塊)。
  3. 嘗試驗證所有模塊并處理失敗場景。
  4. 檢查用戶憑證和帳戶詳細(xì)信息。
  5. 打開一個新 PAM 會話。
  6. 為使用憑證的用戶設(shè)置環(huán)境。
  7. 當(dāng)用戶完成時,取消用戶環(huán)境。
  8. 關(guān)閉 PAM 會話。
  9. 從帶有句柄值的 libpam.so 庫中退出。
  10. 退出。

結(jié)束語

依賴 PAM 來幫助把低級別驗證工作變?yōu)楦哂泄芾硇缘恼w,這大大簡化了這種安全機制。在本文中,您了解了:

  • 基本的 PAM 架構(gòu)
  • 如何配置 PAM 模塊
  • 幫助理解工作原理的 PAM 登錄應(yīng)用程序概述

現(xiàn)在您可以接著了解使用 PAM 模塊的更多高級主題 — 請從下面的 參考資料 開始……

 

參考資料

學(xué)習(xí)

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
理解RHEL上安裝oracle的配置參數(shù) :/etc/security/limits.conf, /etc/profile, /etc/pam.d/login
Linux可插拔認(rèn)證模塊(PAM)的配置文件、工作原理與流程
/etc/pam.d/login Linux
Debian應(yīng)用-第四部分-Linux下PAM模塊學(xué)習(xí)總結(jié)
Linux下的高級安全認(rèn)證機制你用了嗎!
linux 賬戶鎖與解鎖
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服