時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
控制用戶的登錄地點
文件/etc/secruity/access.conf可控制用戶登錄地點,為了使用access.conf,必須在文件/etc/pam.d/login中加入下面行:
account required /lib/security/pam_access.so
access.conf文件的格式:
permission : users : origins
其中:
permission:可以是 "+"或"-",表示允許或拒絕。
user:可以是用戶名、用戶組名,如果是all則表示所有用戶。
origins:登錄地點。local表示本地,all表示所有地點,console表示控制臺。另外,origins也可以是某一網(wǎng)絡(luò)。
后面兩個域中加上 except是"除了"的意思。例如:除了用戶wheel、shutdown、sync禁止所有的控制臺登錄:
-:ALL EXCEPT wheel shutdown sync:console
root賬戶的登錄地點不在access.conf文件中控制,而是由/etc/securetty文件控制。
必須保證/etc/pam.d/login有下面這行:
auth required???? pam_securetty.so
etc/securetty文件指定了允許root登錄的tty設(shè)備,由/bin/login程序讀取,其格式是一個被允許的名字列表,你可以編輯/etc/securetty且注釋掉如下的行。
# tty2
# tty3
# tty4
# tty5
# tty6
這時,root僅可在tty1終端登錄。
關(guān)于PAM的一些解釋
熱身:
何要授予用戶特權(quán)的程序都要能夠進(jìn)行用戶認(rèn)證。當(dāng)您登入系統(tǒng)時,您需要提供用戶名和口令,而后登入進(jìn)程據(jù)此以檢驗登入的合法性---確認(rèn)您就是該用戶。還有除口令認(rèn)證之外的其他認(rèn)證形式,而且口令的存儲方式也是各不相同的。
1、說明
A、PAM可加載目標(biāo)文件(模塊)是在RedHat Linux系統(tǒng)中它們被放在了/lib/security目錄下
B、PAM庫本地系統(tǒng)配置文件/etc/pam.conf OR /etc/pam.d/目錄下的一些配置文件來設(shè)置
2、# more login
#%PAM-1.0
auth required???? pam_securetty.so
用來控制root用戶只可以從包含在/etc/securetty文件中的終端登錄系統(tǒng)。
auth required???? pam_stack.so service=system-auth
auth required???? pam_nologin.so
提供標(biāo)準(zhǔn)的UNIX nologin登錄認(rèn)證。如果/etc/nologin文件存在,則只有root用戶可以登錄,其他用戶登錄時只會得到/etc/nologin文件的內(nèi)容。如果/etc/nologin不存在,則該模塊沒有作用。
account??? required???? pam_stack.so service=system-auth
password?? required???? pam_stack.so service=system-auth
# pam_selinux.so close should be the first session rule
session??? required???? pam_selinux.so close
session??? required???? pam_stack.so service=system-auth
session??? optional???? pam_console.so
# ls -l /dev/pts/1
crw--w---- 1 root tty 136, 1 May 15 21:19 /dev/pts/1
# ls -l /dev/pts/2
crw--w---- 1 test tty 136, 2 May 15 21:20 /dev/pts/2
用戶登陸時,它將TTY設(shè)備權(quán)限改成該用戶所有,當(dāng)用戶退出時,將TTY設(shè)備權(quán)限改為root所有。
# pam_selinux.so open should be the last session rule
session??? required???? pam_selinux.so multiple open
login要做兩件事,首先查詢用戶,然后為用戶提供所需服務(wù),例如提供一個shell程序。
通常,login會提示用戶輸入密碼。然后對密碼進(jìn)行校驗,這項任務(wù)就是Linux-PAM完成的。
上 例中三個required連續(xù)使用, 即便第一個模塊失敗了,也要完成三個模塊的校驗。這是一種安全上的考慮 ---這種設(shè)計永遠(yuǎn)不要讓用戶知道他或她們?yōu)槭裁磿痪芙^,否則會讓其更容易突破認(rèn)證??梢詫?required"改成"requisite"來修改這種 認(rèn)證方式。如果有任何"requisite"模塊以失敗返回,整個PAM認(rèn)證將終止再調(diào)用其它模塊也以失敗返回。
3、pam_unix認(rèn)證模塊
所屬類型: account; auth; password; session
功能描述:該模塊是標(biāo)準(zhǔn)UNIX認(rèn)證模塊pam_unix的替代模塊。
在 作為auth類型使用時,此時該模塊可識別的參數(shù)有debug、audit、use_first_pass、try_first_pass、 nullok、nodelay,主要功能是驗證用戶密碼的有效性,在缺省情況下(即不帶任何參數(shù)時),該模塊的主要功能是禁止密碼為空的用戶提供服務(wù);
auth? required????? /lib/security/$ISA/pam_env.so
auth? sufficient??? /lib/security/$ISA/pam_unix.so likeauth nullok
auth? required????? /lib/security/$ISA/pam_deny.so
在作為account類型使用時,此時該模塊可識別的參數(shù)有debug、audit,該模塊主要執(zhí)行建立用戶帳號和密碼狀態(tài)的任務(wù),然后執(zhí)行提示用戶修改密碼,用戶采用新密碼后才提供服務(wù)之類的任務(wù);
account???? required????? /lib/security/$ISA/pam_unix.so
account???? sufficient??? /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
account???? required????? /lib/security/$ISA/pam_permit.so
在 作為password類型使用時,此時該模塊可識別的參數(shù)有debug、 audit、 nullok;、not_set_pass、use_authtok、try_first_pass、use_first_pass、md5、 bigcrypt、shadow、nis、
remember,該模塊完成讓用戶更改密碼的任務(wù);
password??? requisite???? /lib/security/$ISA/pam_cracklib.so retry=3
password??? sufficient??? /lib/security/$ISA/pam_unix.so nullok use_authtok md5
shadow
password??? required????? /lib/security/$ISA/pam_deny.so
#p#副標(biāo)題#e#
在作為session類型使用時,此時該模塊沒有可識別的參數(shù),該模塊僅僅完成記錄用戶名和服務(wù)名到日志文件的工作。
session???? required????? /lib/security/$ISA/pam_limits.so
session???? required????? /lib/security/$ISA/pam_unix.so
可帶參數(shù):
debug:將調(diào)試信息寫入日志
audit:記錄更為信息的信息
nullok:缺省情況下,如果用戶輸入的密碼為空,則系統(tǒng)能夠不對其提供任何服務(wù)。但是如果使用參數(shù),用戶不輸入密碼就可以獲得系統(tǒng)提供的服務(wù)。同時,也允許用戶密碼為空時更改用戶密碼。 ?
nodelay:當(dāng)用戶認(rèn)證失敗,系統(tǒng)在給出錯誤信息時會有一個延遲,這個延遲是為了防止。黑客猜測密碼,使用該參數(shù)時,系統(tǒng)將取消這個延遲。通常這是一個1秒鐘的延遲。
try_first_pass:在用作auth模塊時,該參數(shù)將嘗試在提示用戶輸入密碼前,使用前面一個堆疊的auth模塊提供的密碼認(rèn)證用戶;在作為password模塊使用時,該參數(shù)是為了防止用戶將密碼更新成使用以前的老密碼。
use_first_pass:在用作auth模塊時,該參數(shù)將在提示用戶輸入密碼前,直接使用前面一個堆疊的auth模塊提供的密碼認(rèn)證用戶;在作為password模塊使用時,該參數(shù)用來防止用戶將密碼設(shè)置成為前面一個堆疊的password模塊所提供的密碼。
no_set_pass:使密碼對前后堆疊的password模塊無效。
use_authok:強(qiáng)制使用前面堆疊的password模塊提供的密碼,比如由pam_cracklib模塊提供的新密碼。
md5:采用md5對用戶密碼進(jìn)行加密。
shadow:采用影子密碼。
unix:當(dāng)用戶更改密碼時,密碼被放置在/etc/passwd中。
bigcrype:采用DEC C2算法加密用戶密碼。
nis:使用NIS遠(yuǎn)處過程調(diào)用來設(shè)置新密碼。
remember=x:記錄x個使用過的舊密碼,這些舊密碼以MD5方式加密后被保存在/etc/security/opasswd文件中。
broken_shadow:在作為account使用時,該參數(shù)用來忽略對影子密碼的讀錯誤。
likeauth:未知。
配置實例:
參考/etc/pam.d/system-auth
設(shè)置密碼中的常見錯誤信息?
?、女?dāng)用戶輸入的密碼字符數(shù)太少時:
BAD PASSWORD: it's WAY too short
?、飘?dāng)用戶輸入的密碼相同字符太多時:
BAD PASSWORD: it does not cont
關(guān)鍵詞標(biāo)簽:linux控制用戶的登錄地
相關(guān)閱讀
熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP
人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址 dmidecode命令查看內(nèi)存型號 linux tc實現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關(guān)機(jī)、重啟、注銷 命令 查看linux服務(wù)器硬盤IO讀寫負(fù)載