PAM認證機制

1.PAM介紹

?認證庫:文本文件,MySQL开呐,NIS,LDAP等
?PAM 是關注如何為服務驗證用戶的 API规求,通過提供一些動態(tài)鏈接庫和一套統(tǒng)一的API,將系統(tǒng)提供的服務和該服務的認證方式分開
? 使得系統(tǒng)管理員可以靈活地根據(jù)需要給不同的服務配置不同的認證方式而無需更改服務程序
? 一種認證框架瓦戚,自身不做認證
? 它提供了對所有服務進行認證的中央機制,適用于login较解,遠程登錄(telnet,rlogin,fsh,ftp,點對點協(xié)議(PPP))赴邻,su等應用程序中。系統(tǒng)管理員通過PAM配置文件來制定不同應用程序的不同認證策略姥敛;應用程序開發(fā)者通過在服務程序中使用PAM API(pam_xxxx( ))來實現(xiàn)對認證方法的調用;而PAM服務模塊的開發(fā)者則利用PAM SPI來編寫模塊(主要是引出一些函數(shù)pam_sm_xxxx( )供PAM接口庫調用)与帆,將不同的認證機制加入到系統(tǒng)中;PAM接口庫(libpam)則讀取配置文件玄糟,將應用程序和相應的PAM服務模塊聯(lián)系起來。

2.PAM架構

Paste_Image.png

pam認證原理
? PAM認證一般遵循這樣的順序:
Service(服務)→PAM(配置文件)→pam_\*.so
? PAM認證首先要確定那一項服務嫂拴,然后加載相應的PAM的配置文件(位于/etc/pam.d下)贮喧,最后調用認證文件(位于/lib/security下)進行安全認證

3. PAM認證過程:(以passwd為例)

(1)使用者執(zhí)行/usr/bin/passwd 程序,并輸入密碼
(2)passwd開始呼叫PAM模塊箱沦,PAM模塊會搜尋passwd程序的PAM相關設定文件谓形,這個
  設定文件一般在/etc/pam.d/里邊的與程序同名的文件,即PAM會尋/etc/pam.d/passed這個設置文件
(3)經(jīng)由/etc/pam.d/passwd設定文件的數(shù)據(jù),取用PAM所提供的相關模塊來進行驗證
(4)將驗證結果回傳給passwd這個程序寒跳,而passwd這個程序會根據(jù)PAM回傳的結果決定下一個動作(重新輸入密碼或者通過驗證)

eg:passwd→PAM模塊→/etc/pam.d/passwd→調用庫文件來生效/lib64/seturity/*.so

4. PAM相關文件

? 模塊文件目錄:/lib64/security/*.so
? 環(huán)境相關的設置,獨立的配置文件聘萨,完成用戶對系統(tǒng)資源的使用和控制:/etc/security/
?主配置文件:/etc/pam.conf童太,默認不存在
? 為每種應用模塊提供一個專用的配置文件:
/etc/pam.d/APP_NAME
注意:如/etc/pam.d存在,/etc/pam.conf將失效

5.文件格式

(1)通用配置文件/etc/pam.conf格式

application type control module-path arguments

(2)專用配置文件/etc/pam.d/* 格式

type control module-path arguments

Paste_Image.png

? 說明:

? 服務名(application)telnet翘贮、login爆惧、ftp等,服務名字“OTHER”代表所有沒有在該文件中明確配置的其它服務
? 模塊類型(type)
? control PAM庫該如何處理與該服務相關的PAM模塊的成功或失敗情況
? module-path 用來指明本模塊對應的程序文件的路徑名
? Arguments 用來傳遞給該模塊的參數(shù)
Paste_Image.png

contrl 復雜詳細實現(xiàn):使用一個或多個“status=action”
? [status1=action1 status2=action …]
Status:檢查結果的返回狀態(tài)
Action:采取行為 ok芍耘,done熄阻,die,bad窃页,ignore,reset
? ok 模塊通過脖卖,繼續(xù)檢查
? done 模塊通過,返回最后結果給應用
? bad 結果失敗袖扛,繼續(xù)檢查
? die 結果失敗十籍,返回失敗結果給應用
? ignore 結果忽略,不影響最后結果
? reset 忽略已經(jīng)得到的結果

Paste_Image.png
模塊通過讀取配置文件完成用戶對系統(tǒng)資源的使用控制
/etc/security/*.conf
? 注意:修改PAM配置文件將馬上生效
? 建議:編輯pam規(guī)則時惨篱,保持至少打開一個root會話围俘,以防止root身份驗證錯誤

pam文檔說明
? /user/share/doc/pam-*
? rpm -qd pam
? man –k pam_
? man 模塊名 如man rootok
? 《The Linux-PAM System Administrators' Guide》

(1)示例模塊:pam_shells

? 功能:檢查有效shell
? man pam_shells
? 示例:不允許使用/bin/csh的用戶本地登錄

vim /etc/pam.d/login
auth required pam_shells.so
vim /etc/shells
去掉 /bin/csh
useradd –s /bin/csh testuser
testuser將不可登錄
tail /var/log/secure
(2)示例模塊:pam_securetty.so

? 功能:只允許root用戶在/etc/securetty列出的安全終端上
登陸
? 示例:允許root在telnet登陸

vi /etc/pam.d/login
#auth required pam_securetty.so #將這一行加上注釋
或者/etc/securetty文件中加入
pts/0,pts/1…pts/n
(3)示例模塊:pam_nologin.so

? 功能:如果/etc/nologin文件存在,將導致非root用戶不能登陸,如果用戶shell是/sbin/nologin 時界牡,當該用戶登陸時,會顯示/etc/nologin.txt文件內容常遂,并拒絕登陸

(4)示例模塊:pam_limits.so

? 功能:在用戶級別實現(xiàn)對其可使用的資源的限制挽荠,例如:可打開的文件數(shù)量,可運行的進程數(shù)量坤按,可用內存空間
?① 修改限制的實現(xiàn)方式:

ulimit命令,立即生效,但無法保存
-n 最多的打開的文件描述符個數(shù)
-u 最大用戶進程數(shù)
-S 使用 soft(軟)資源限制
-H 使用 hard(硬)資源限制

②配置文件:/etc/security/limits.conf,
/etc/security/limits.d/*.conf
? 配置文件:每行一個定義腹忽;
<domain> <type> <item> <value>
? <domain> 應用于哪些對象
? Username 單個用戶
? @group 組內所有用戶
? * 所有用戶
? <type> 限制的類型
? Soft 軟限制,普通用戶自己可以修改
? Hard 硬限制,由root用戶設定,且通過kernel強制生效
? - 二者同時限定
? <item> 限制的資源
? nofile 所能夠同時打開的最大文件數(shù)量,默認為1024
? nproc 所能夠同時運行的進程的最大數(shù)量,默認為1024
? <value> 指定具體值
eg:

? 限制用戶最多打開的文件數(shù)和運行進程數(shù)
/etc/pam.d/system-auth
session required pam_limits.so
? vim /etc/security/limits.conf
apache – nofile 10240 apache用戶可打開10240個文件
student hard nproc 20 不能運行超過20個進程
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末嘹锁,一起剝皮案震驚了整個濱河市着裹,隨后出現(xiàn)的幾起案子领猾,更是在濱河造成了極大的恐慌,老刑警劉巖面粮,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件继低,死亡現(xiàn)場離奇詭異,居然都是意外死亡柴底,警方通過查閱死者的電腦和手機粱胜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來焙压,“玉大人,你說我怎么就攤上這事答憔∠颇ǎ” “怎么了?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵蓉驹,是天一觀的道長。 經(jīng)常有香客問我态兴,道長疟位,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任绍撞,我火速辦了婚禮,結果婚禮上傻铣,老公的妹妹穿的比我還像新娘祥绞。我一直安慰自己鸭限,他們只是感情好两踏,可當我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著缆瓣,像睡著了一般。 火紅的嫁衣襯著肌膚如雪隧甚。 梳的紋絲不亂的頭發(fā)上渡冻,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天,我揣著相機與錄音族吻,去河邊找鬼。 笑死砍艾,一個胖子當著我的面吹牛巍举,可吹牛的內容都是我干的。 我是一名探鬼主播懊悯,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼桃焕!你這毒婦竟也來了捧毛?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤型将,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體丸凭,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年狠裹,在試婚紗的時候發(fā)現(xiàn)自己被綠了汽烦。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片涛菠。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡俗冻,死狀恐怖牍颈,靈堂內的尸體忽然破棺而出迄薄,到底是詐尸還是另有隱情煮岁,我是刑警寧澤,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布冶伞,位于F島的核電站步氏,受9級特大地震影響,放射性物質發(fā)生泄漏戳护。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一梗肝、第九天 我趴在偏房一處隱蔽的房頂上張望铺董。 院中可真熱鬧,春花似錦精续、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽弓颈。三九已至,卻和暖如春翔冀,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背纤子。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工控硼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人象颖。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓,卻偏偏與公主長得像抄瓦,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子钙姊,可洞房花燭夜當晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內容