linux系統pam配置


摘自:https://blog.csdn.net/jhcsdb/article/details/15780433

PAM--- Pluggable Authentication Module
Linux下可擴展的鑒權模塊,用戶進程服務某服務進程,服務進程先把請求送到PAM模塊進行鑒權,PAM根據服務名從/etc/pam.d/目錄選擇一個服務文件,根據服務文件的配置內容進行鑒權。


通過ldd命令查看服務名,確定服務是否使用pam功能(pam服務對應libpam*.so庫文件):
ldd /usr/sbin/sshd
        linux-vdso.so.1 =>  (0x00007fff1b8ef000)
        libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f579f2d8000)
        libpam.so.0 => /lib64/libpam.so.0 (0x00007f579f0cb000)


/lib/security目錄存放pam模塊文件,支持哪些鑒權功能:

[liuyan@localhost ~]$ ls /lib64/security/
pam_access.so        pam_env.so            pam_group.so     pam_localuser.so         pam_permit.so          pam_shells.so      pam_umask.so         pam_winbind.so
pam_cap.so           pam_exec.so           pam_issue.so     pam_loginuid.so          pam_postgresok.so      pam_smbpass.so     pam_unix_acct.so     pam_xauth.so
pam_chroot.so        pam_faildelay.so      pam_keyinit.so   pam_mail.so              pam_pwhistory.so       pam_sss.so         pam_unix_auth.so
pam_ck_connector.so  pam_faillock.so       pam_krb5         pam_mkhomedir.so         pam_rhosts.so          pam_stress.so      pam_unix_passwd.so
pam_console.so       pam_filter            pam_krb5afs.so   pam_motd.so              pam_rootok.so          pam_succeed_if.so  pam_unix_session.so
pam_cracklib.so      pam_filter.so         pam_krb5.so      pam_namespace.so         pam_securetty.so       pam_tally2.so      pam_unix.so
pam_debug.so         pam_fprintd.so        pam_lastlog.so   pam_nologin.so           pam_selinux_permit.so  pam_time.so        pam_userdb.so
pam_deny.so          pam_ftp.so            pam_limits.so    pam_oddjob_mkhomedir.so  pam_selinux.so         pam_timestamp.so   pam_warn.so
pam_echo.so          pam_gnome_keyring.so  pam_listfile.so  pam_passwdqc.so          pam_sepermit.so        pam_tty_audit.so   pam_wheel.so
pam_access.so 控制訪問者地址與賬號名稱
pam_listfile.so 控制訪問者的賬號名稱或登錄位置
pam_limits.so 控制為用戶分配的資源
pam_rootok.so 對管理員(uid=0)無條件允許通過
pam_userdb.so 設定獨立用戶賬號數據庫認證

 

/etc/pam.d目錄存放使用pam的服務名,哪些進程會使用pam模塊:

[liuyan@localhost ~]$ ls /etc/pam.d/
atd             cups                 gdm-password       ksu               poweroff   smartcard-auth     sudo-i                        system-config-network
authconfig      cvs                  gnome-screensaver  login             ppp        smartcard-auth-ac  su-l                          system-config-network-cmd
authconfig-gtk  eject                halt               newrole           reboot     smtp               system-auth                   system-config-users
authconfig-tui  fingerprint-auth     kcheckpass         other             remote     smtp.postfix       system-auth-ac                xdm
chfn            fingerprint-auth-ac  kdm                passwd            run_init   sshd               system-config-authentication  xserver
chsh            gdm                  kdm-np             password-auth     runuser    ssh-keycat         system-config-date
config-util     gdm-autologin        kppp               password-auth-ac  runuser-l  su                 system-config-kdump
crond           gdm-fingerprint      kscreensaver       polkit-1          setup      sudo               system-config-keyboard
login -------/etc/pam.d/login
ipop3d -------/etc/pam.d/pop
vsftpd -------/etc/pam.d/ftp(編譯安裝)或/etc/pam.d/vsftpd(rpm安裝)
sshd -------/etc/pam.d/sshd
su -------/etc/pam.d/su

 

/etc/security/目錄存放pam認證、鑒權時使用的配置文件,如limits.conf

[liuyan@localhost ~]$ ls /etc/security/
access.conf   console.handlers  group.conf   namespace.conf  opasswd           sepermit.conf
chroot.conf   console.perms     limits.conf  namespace.d     pam_env.conf      time.conf
console.apps  console.perms.d   limits.d     namespace.init  pam_winbind.conf

 


一個服務進程AA使用pam鑒權功能需要做兩步:

第一步:修改/etc/pam.d/AA 文件,指定AA服務需要加載一個libpam_XXXX.so動態庫。
第二步:修改/etc/security/XXXX.conf,指定XXXX操作需要滿足哪些鑒權規則。

通過配置文件增改刪進程的鑒權規則,下面介紹兩個常用的pam模塊

  • pam_access.so模塊的使用―――控制訪問sshd服務的主機和用戶
1.修改需使用這個模塊的服務文件/etc/pam.d/sshd
添加 account required pam_access.so
2.修改模塊的配置文件 /etc/security/access.conf
- : redhat : ALL EXCEPT 192.168.0. (ip為192.168.0.X的redhat機器無權訪問)
結果:ip為192.168.0.X的redhat機器執行ssh時,無法登錄該機器。

 

  • pam_limits.so 模式使用
1.模塊應用到sshd服務,修改服務文件
#vi /etc/pam.d/sshd 添加:
session required pam_limits.so
session控制用戶進程的登錄次數,文件大小,通過控制用戶的會話進程來限制用戶使用的資源。
2.編緝pam_limits.so的配置文件/etc/security/limits.conf
*                hard    nofile          65536
*                soft    nofile          65535
任意用戶進程的句柄上限都是65535。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM