linux PAM模块
? PAM可以說(shuō)是一套應(yīng)用程序編程接口,它提供了一連串的驗(yàn)證機(jī)制,只要用戶將驗(yàn)證階段的需求告知PAM后,PAM就能夠回報(bào)用戶驗(yàn)證結(jié)果(成功或失敗)。
? PAM通過(guò)一個(gè)與程序相同文件名的配置文件來(lái)進(jìn)行一連串的認(rèn)證分析需求。以passwd為例,當(dāng)你執(zhí)行passwd后,這個(gè)程序調(diào)用PAM的流程:
? 1、用戶開(kāi)始執(zhí)行/usr/bin/passwd這支程序,并輸入密碼
? 2、passwd調(diào)用PAM模塊進(jìn)行驗(yàn)證
? 3、PAM模塊會(huì)到/etc/pam.d/中尋找與程序(passwd)同名的配置文件
? 4、依據(jù)/etc/pam.d/passwd內(nèi)的設(shè)置,引用相關(guān)的PAM模塊逐步進(jìn)行驗(yàn)證分析
? 5、驗(yàn)證結(jié)果(成功、失敗或其他信息)回傳給passwd這個(gè)程序
? 6、passwd這支程序會(huì)根據(jù)PAM回傳的結(jié)果決定下一個(gè)操作
? 看看/etc/pam.d/passwd這個(gè)配置文件
? 第一個(gè)字段:驗(yàn)證類型(type)
? 驗(yàn)證類型分為四種:
? auth:是authention(認(rèn)證)的縮寫(xiě),所以這個(gè)種類型主要用來(lái)檢驗(yàn)用戶的身份驗(yàn)證。
? account:account(賬號(hào))則大部份是在進(jìn)行授權(quán),主用用來(lái)檢驗(yàn)用戶是否具有正確的權(quán)限
? session:session是會(huì)議期間的意思,所以session管理的就是用戶在這次登陸(或使用這個(gè)命令)期間PAM所給予的環(huán)境設(shè)置
? password:password就是密碼,主要用于提供驗(yàn)證的修訂工作,就是修改密碼。
? 第二個(gè)字段:驗(yàn)證的控制標(biāo)示
? 驗(yàn)證的控制標(biāo)示主要也分四種控制方式:
? required:這類標(biāo)示為,不論驗(yàn)證成功或失敗都繼續(xù)驗(yàn)證
? requisite:這類標(biāo)示為,失敗則不在進(jìn)行驗(yàn)證,只有成功才繼續(xù)驗(yàn)證
? sufficient:這類標(biāo)示為,驗(yàn)證成功則不進(jìn)行驗(yàn)證,驗(yàn)證失敗就繼續(xù)驗(yàn)證
? optional:這類標(biāo)示,更多是顯示信息,而不進(jìn)行驗(yàn)證
? 常見(jiàn)模塊簡(jiǎn)介
? 首先看看我們的登陸(login)模塊
?
?
? 上面使用了非常多的PAM模塊,每個(gè)模塊功能都不太相同,詳細(xì)的模塊情報(bào)可以在系統(tǒng)中在找到
? /etc/pam.d/*:每個(gè)程序個(gè)別的PAM模塊配置文件;
? /lib/security/*:PAM模塊文件的實(shí)際放置目錄;
? /etc/security/*:其他PAM環(huán)境的配置文件;
? /usr/share/doc/pam-*/:詳細(xì)的PAM說(shuō)明文件。
? 簡(jiǎn)單的介紹比較常用的模塊
? pam_securetty.so:
? 限制系統(tǒng)管理員(root)只能夠從安全的終端機(jī)登陸。所謂的安裝終端可以在/etc/securetty這個(gè)配置文件中設(shè)置
? pam_nologin.so
? 這個(gè)模塊可以設(shè)置一般用戶能否登陸系統(tǒng),樣/etc/nologin這個(gè)文件存在時(shí),則所有一般用戶均無(wú)法登陸系統(tǒng),但對(duì)root沒(méi)有影響。
? pam_selinux.so
? SElinux是針對(duì)程序來(lái)進(jìn)行詳細(xì)管理權(quán)限的功能
? pam_console.so
? 當(dāng)系統(tǒng)出現(xiàn)某些問(wèn)題時(shí),或某些時(shí)刻你需要使用特殊的終端接口登陸主機(jī)時(shí),這個(gè)模塊可以幫你處理文件權(quán)限問(wèn)題,讓用戶可以通過(guò)特殊終端接口順利登陸系統(tǒng)
? pam_loginuid.so
? 驗(yàn)證用戶的UID真的是我們需要的數(shù)值,可以用這個(gè)模塊來(lái)進(jìn)行規(guī)范
? pam_env.so
? 用來(lái)設(shè)置環(huán)境變量一個(gè)模塊,如果你需要額外的環(huán)境變量設(shè)置,可以參考/etc/security/pam_env.conf這個(gè)文件的詳細(xì)說(shuō)明
? pam_UNIX.so
? 這個(gè)模塊可以用于驗(yàn)證階段的認(rèn)證功能,可以用于授權(quán)階段的賬號(hào)可許證管理,可以用于會(huì)議階段的日志文件記錄等。
? pam_cracklib.so
? 可以用來(lái)檢驗(yàn)密碼強(qiáng)度
? pam_limits.so
? 可以參考/etc/security/limits.conf內(nèi)的說(shuō)明
??
轉(zhuǎn)載于:https://blog.51cto.com/aixecc/817180
總結(jié)
以上是生活随笔為你收集整理的linux PAM模块的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 博客迁移到博客园
- 下一篇: linux的引导流程