歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> 關於Unix >> [Linux]login登陸過程-PAM

[Linux]login登陸過程-PAM

日期:2017/3/6 15:28:17   编辑:關於Unix
login登陸的PAM相關設置,深刻理解~ login登陸過程(/etc/pam.d/login) auth 這種類型的模塊為用戶驗證提供兩方面的服務。 讓應用程序提示用戶輸入密碼或者其它的標記,確認用戶的合法性; account 這類模塊執行基於非驗證的帳戶管理。它主要用來限制/允許用 login登陸的PAM相關設置,深刻理解~

login登陸過程(/etc/pam.d/login)
auth
這種類型的模塊為用戶驗證提供兩方面的服務。
讓應用程序提示用戶輸入密碼或者其它的標記,確認用戶的合法性;
aclearcase/" target="_blank" >ccount
這類模塊執行基於非驗證的帳戶管理。它主要用來限制/允許用戶對某個服務的訪問時間,當前有效的系統資源(最多可以有多少個用戶),限制用戶的位置(例如:root用戶只能從控制台登錄)。
session
這類模塊的主要用途是處理為用戶提供服務之前/後需要做的一些事情,包括:記錄打開/關閉交換數據的信息,監視目錄等。
password
用來升級用戶驗證標記。

required
表示即使某個模塊對用戶的驗證失敗,也要等所有的模塊都執行完畢之後,PAM才返回錯誤信息。這樣做是為了不讓用戶知道被哪個模塊拒絕。如果對用戶驗證成功,所有的模塊都會返回成功信息。
requisite
如果特定的模塊對用戶的驗證失敗,PAM馬上返回一個錯誤信息,把控制權交回應用程序,不再執行其它模塊進行驗證。
sufficient
表示如果一個用戶通過這個模塊的驗證,PAM結構就立刻返回驗證成功信息,把控制權交會應用程序。後面的層疊模塊即使使用requisite或者required控制標志,也不再執行。如果驗證失敗sufficient的作用和optional相同。
optional
表示即使本行指定的模塊驗證失敗,也允許用戶享受應用程序提供的服務。使用這個標志,PAM框架會忽略這這個模塊產生的驗證錯誤,繼續順序執行下一個層疊模塊。



1 auth required pam_securetty.so
#path: /lib/security/pam_securetty.so
#conf: /etc/securetty
#設定root用戶可以登陸的tty,若登陸的tty沒有在文件中列出,
#則該tty無法讓root用戶登陸,該文檔對其他用戶無限制。
#doc: /usr/share/doc/pam-0.75/txts/README.pam_securetty

2 auth required pam_stack.so service=system-auth
#path: /lib/security/pam_stack.so
#pam_stack.so的作用是調用服務。
#srv: /etc/pam.d/system-auth
#調用auth類型pam,在此處調用如下:

# auth required /lib/security/$ISA/pam_env.so
# conf /etc/security/pam_env.conf
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_env

# auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
# path: /lib/security/pam_unix.so
#
# doc: /usr/share/doc/pam-0.75/txts/README.pam_unix

# auth required /lib/security/$ISA/pam_deny.so
#path: /lib/security/pam_deny.so
#this module always fails, it ignores all options.
#:
#doc: /usr/share/doc/pam-0.75/txts/README.pam_deny

3 auth required pam_nologin.so
#path: /lib/security/pam_nologin.so
#這個模塊始終讓root用戶可以登陸,其他用戶只有在/etc/nologin文件不存在時可以登陸,
#:若/etc/nologin文件存在,則在輸入正確用戶名及任意密碼後將該文件內容顯示給用戶。
#doc: /usr/share/doc/pam-0.75/txts/README.pam_nologin

4 account required pam_stack.so service=system-auth
#pam_stack.so的作用是調用服務。
#srv: /etc/pam.dsystem-auth
#調用account類型pam,在此處調用如下:

#account required /lib/security/$ISA/pam_unix.so
# path: /lib/security/pam_unix.so
#
# doc: /usr/share/doc/pam-0.75/txts/README.pam_unix

5 password required pam_stack.so service=system-auth
#pam_stack.so的作用是調用服務。
#srv: /etc/pam.d/system-auth
#調用password類型pam,在此處調用如下:

#password required /lib/security/$ISA/pam_cracklib.so retry=3 type=
#path: /lib/security/pam_cracklib.so
#首先調用cracklib例程檢查密碼強度,如果密碼不易破譯,就進行下面的強度檢查:
#新密碼是否舊密碼的回文。
#新密碼是否只是就密碼改變了大小寫
#doc: /usr/share/doc/pam-0.75/txts/README.pam_cracklib
#password required /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
#path: /lib/security/pam_unix.so
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_unix

#password required /lib/security/$ISA/pam_deny.so
#path: /lib/security/pam_deny.so
#這個模塊能夠用來拒絕任何訪問。
#this module always fails, it ignores all options.
#doc: /usr/share/doc/pam-0.75/txts/README.pam_deny
6 session required pam_stack.so service=system-auth
#pam_stack.so的作用是調用服務。
#srv: /etc/pam.d/system-auth
#調用password類型pam,在此處調用如下:
#session required /lib/security/$ISA/pam_limits.so
#path: /lib/security/pam_limits.so
#conf: /etc/security/limits.conf
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_limits
#session required /lib/security/$ISA/pam_unix.so
#path: /lib/security/pam_unix.so
#
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_unix
7 session optional pam_console.so
#path: /lib/security/pam_console.so
#
#
#doc: /usr/share/doc/pam-0.75/txts/README.pam_console

Copyright © Linux教程網 All Rights Reserved