天天看點

Linux學習——小白看PAM認證

pam認證機制

  • 是一種與認證相關的通用架構機制,但是自身不做認證
  • 它同時面向驗證服務的開發者和被驗證服務者:淘寶、商家、買家
    • 應用程式開發者通過 在服務程式中使用PAM API來實作對認證方法的調用;而PAM服 務子產品的開發者則利用PAM SPI來編寫子產品供 PAM接口庫調用,将不同的認證機制加入到系統中;PAM接口庫則 讀取配置檔案,将應用程式和相應的PAM服務子產品聯系起來
  • 系統管理者可以靈活的根據需要給不同的服務配置不同的認證方式而無需更改服務程式
    • 修改服務的配置檔案來修改認證方式

PAM相關檔案

  • 子產品檔案目錄:/lib64/securitytxts/*
  • rpm -qd pam檢視pam的man檔案
  • man modules-name,man rootok

常用的PAM子產品

pam_shells.so

  1. 子產品:pam_shells
  2. 功能:檢查有效shell
  3. man pam_shells
  4. 示例:模拟非shell類型的使用者無法登入
/* 原本的shell類型内容 */
    cat /etc/shells
/* 修改登入程式的配置檔案 */
    vim /etc/pam.d/login
/* 添加auth required pam_shells.so */
/* 将一名系統使用者的登入類型設為/bin/csh */
    usermod/chsh -s /bin/csh huang
/* 但是使用su指令可以用huang登入,同理修改su的配置檔案*/
    vim /etc/pam.d/su
    auth required pam_shells.so 
           
  • 使用huang使用者将無法登入  
Linux學習——小白看PAM認證

pam_securetty.so

  1. 功能:隻允許root使用者在/etc/securetty列出的安全終端上登陸
  2. 示例:允許root在telnet登陸
  • 可以以在/etc/securetty中添加talnet的登入終端
  • 或是在/etc/pam.d/remote中删除auth required pam_securetty.so

pam_nologin.so

  1. 功能
  • 如果/etc/nologin檔案存在,将導緻非root使用者不能登陸
  • 如果使用者shell類型是/sbin/nologin時,當該使用者登陸時,會顯示**/etc/nologin檔案内容**,并拒絕登陸,維護時使用

pam_limits.so

  1. 功能:在使用者級别實作對其可用資源的控制,比如可打開的檔案數量、可運作的程序數量、可用記憶體
  2. 修改限制
  • 使用ulimit指令,立即生效但不永久
    • -n,最大能打開的檔案個數
    • -u,最大的使用者程序數
    • -S,使用軟資源限制
    • -H,硬資源限制
  • 寫到檔案中中永久儲存
    • /etc/security/limits.conf,總配置檔案
    • /etc/security/limits.d/*.conf,分成子配置來修改
    • domain type item value
    • 指定使用者 限制類型 限制的資源 具體數值
      • huang - nproc 8

總結的不深,希望剛接觸這些的人有所幫助。

繼續閱讀