天天看點

linux指令行如何修改删除pam,linux系統之pam子產品

一、pam簡介

Linux-PAM(linux可插入認證子產品)是一套共享庫,使本地系統管理者可以随意選擇程式的認證方式. 換句話說,不用(重新編寫)重新編譯一個包含PAM功能的應用程式,就可以改變它使用的認證機制. 這種方式下,就算更新本地認證機制,也不用修改程式. PAM使用配置/etc/pam.d/下的檔案,來管理對程式的認證方式.應用程式 調用相應的配置檔案,進而調用本地的認證子產品.子產品放置在/lib/security下,以加載動态庫的形式進,像我們使用su指令時,系統會提示你輸入root使用者的密碼.這就是su指令通過調用PAM子產品實作的.

二、PAM的配置檔案介紹

PAM配置檔案有兩種寫法:

一種是寫在/etc/pam.conf檔案中,但centos6之後的系統中,這個檔案就沒有了。

另一種寫法是,将PAM配置檔案放到/etc/pam.d/目錄下,其規則内容都是不包含 service 部分的,即不包含服務名稱,而/etc/pam.d 目錄下檔案的名字就是服務名稱。如: vsftpd,login等.,隻是少了最左邊的服務名列.如:/etc/pam.d/sshd

linux指令行如何修改删除pam,linux系統之pam子產品

由上圖可以将配置檔案分為四列,

第一列代表子產品類型

第二列代表控制标記

第三列代表子產品路徑

第四列代表子產品參數

1.PAM的子產品類型

Linux-PAM有四種子產品類型,分别代表四種不同的任務

它們是:認證管理(auth),賬号管理(account),會話管理(session)和密碼(password)管理,一個類型可能有多行,它們按順序依次由PAM子產品調用.

linux指令行如何修改删除pam,linux系統之pam子產品

2.PAM的控制标記

PAM使用控制标記來處理和判斷各個子產品的傳回值.(在此隻說明簡單的認證标記)

linux指令行如何修改删除pam,linux系統之pam子產品

子產品路徑.即要調用子產品的位置. 如果是64位系統,一般儲存在/lib64/security,如: pam_unix.so

3.子產品路徑

同一個子產品,可以出現在不同的類型中.它在不同的類型中所執行的操作都不相同.這是由于每個子產品

針對不同的子產品類型,編制了不同的執行函數.

4.子產品參數

子產品參數,即傳遞給子產品的參數.參數可以有多個,之間用空格分隔開,如:

password   required   pam_unix.so nullok obscure min=4 max=8 md5

三、常用的PAM子產品介紹

linux指令行如何修改删除pam,linux系統之pam子產品

四、執行個體

1、pam_securetty.so

限制root從tty1,tty2,tty5登入(無實際意義,隻是示範pam_securetty的用法)

在/etc/pam.d/login中添加如下一行

auth  required         pam_securetty.so

linux指令行如何修改删除pam,linux系統之pam子產品

在/etc/pam.d/securetty中将tty1,tty2,tty5注釋即可

linux指令行如何修改删除pam,linux系統之pam子產品

之後使用root使用者再次登入,就會出現

linux指令行如何修改删除pam,linux系統之pam子產品

這麼做其實并不是隻限制root使用者,也可以将其它使用者用此方法來限定,當系統安裝完成後,使用此方法來增強一下安全性。

2、pam_listfile.so

僅essun使用者可以通過ssh遠端登入

在/etc/pam.d/sshd檔案中添加一條

auth       required     pam_listfile.so item=user sense=allowfile=/etc/sshdusers onerr=succeed

linux指令行如何修改删除pam,linux系統之pam子產品

添加兩個使用者essun和tom

linux指令行如何修改删除pam,linux系統之pam子產品

編輯file指定的檔案,添加上一個使用者essun

echo "essun" >/etc/sshdusers

使用tom使用者登入

linux指令行如何修改删除pam,linux系統之pam子產品

可以看到提示輸入密碼,當輸入正确的密碼後會提示

linux指令行如何修改删除pam,linux系統之pam子產品

就像輸入了錯誤的密碼一樣。而在使用essun使用者登入則不會出現拒絕登入的提示

linux指令行如何修改删除pam,linux系統之pam子產品

注:此處如果root也使用ssh遠端連接配接,也會受到pam_listfile.so限制的。

其實pam子產品的使用方法套路都差不多

如想了解更多的PAM子產品的用法請man modules