pam是linux可植入式的驗證模組
作用:通過多個模組對相應的程式進行多條件驗證
不是所有的程式都支援pam,一般用於像ssh,login,vsftd等程式
[root@localhost ~]
# /etc/pam.d 配置檔案(相當於門)
[root@localhost ~]
# /etc/pam.d/login中常見的選項
requisite 必要條件,不滿足就退出
sufficient 滿足條件就ok
required 必要條件,不滿足也不退出
optional 條件無所謂
[root@localhost ~]
# /lib64/security 庫檔案(想當於鎖)
方法一:指令碼
#!/bin/bash
for user in
`awk -f: '$3!=0 && '$3!=65534 && $nf==
"/bin/bash"
/etc/passwd`
dosed -i '/^'
$user
':/s/\bin\/bash\/bin\/false/' /etc/passwd
done
方法二:使用pam模組
根據/etc/pam.d/login的第四行來進行測試,這一行預設就有,不需要做任何修改
account required pam_nologin.so
[root@localhost ~]
# touch /etc/nologin 發布資訊並且拒絕除root管理員之外所有使用者登入(只要有這個檔案就拒絕登入)
以ftp為例:
根據/etc/pam.d/vsftpd的第二行進行測試
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
vsftpd服務本身有乙個黑白名單檔案/etc/vsftpd/user_list,然後pam_listfile模組為vsftpd模組又加了一層黑白名單,也就是說vsftpd是雙重黑白名單
**可以通過檢視/var/log/secure日誌看到pam相關的拒絕資訊 **
[root@localhost ~]
# vim /etc/pam.d/login
新增以下內容
account requisite pam_time.so
[root@localhost ~]
# vim /etc/security/time.conf
在此檔案加入需要設定的時間以致時間控制生效
login;*;zxc;mo1148-1150
login: 登入
*: 代表終端型別
zxc: 使用者名稱
mo1148-1150: 修改的時間(此處指只可以在周一11:48到11:50可以登入)
[root@localhost ~]
# vim /etc/pam.d/sshd 加入下面這句**
auth required pam_tally2.so deny=3 even_deny_root root_unlock_time=600 unlock_time=600
even_deny_root:表示對root使用者也生效
deny=3 root_unlocak_time=600:表示root累積失敗3次會鎖定600s
deny=3 unlock_time=600:表示普通使用者累積失敗3次會鎖定600s
可以通過pam_tally2 --user=root命令檢視連續失敗的次數。成功ssh登入後,失敗次數會清零。
也可以使用pam_tally2 --user=root --reset把連續失敗次數清零。
[root@localhost ~]
# vim /etc/pam.d/passwd
password required pam_cracklib.so minlen=8 minclass=2 difok=3 maxrepeat=3 maxsequence=5
minlen: 設定密碼長度
minclass: 字元型別(數字、小寫字母、大寫字母、符號)
difok:表示新密碼和舊密碼需要變動的字元 (difok=3 表示新密碼和舊密碼需要變動3個字元)
maxrepeat:表示重複相同位元組 如:33 666
maxsequence:表示連續位元組 如:123 abc
# vim /etc/pam.d/login 此檔案預設有pam_securetty模組
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
# vim /etc/securetty
tty2 --只留下tty2,表示只能在tty2進行root使用者登入(非root使用者不受影響)
;還可以把這裡的終端全去掉,實現root使用者無法登入
注:在vmware虛擬裡切換終端快捷鍵為alt+f1-f6來切換
# vim /etc/pam.d/sshd (限制ssh連線數)
session required pam_limits.so
[root@localhost ~]
# vim /etc/security/limits.conf
zxc hard maxlogins 2 表示zxc使用者,最多只能ssh登入兩個,第三個登入就會被拒絕
使用另乙個身份來執行命令
普通使用者可臨時使用root相應的許可權
管理為防止誤操作,平時使用普通使用者
root授予zxc使用者touch命令的許可權
root all=
(all) all
zxc all=/usr/bin/touch(此處必須寫絕對路徑)
root授予zxc使用者touch中的部分許可權
root all=
(all) all
zxc all=/usr/bin/touch /root/222,/usr/bin/touch /root/333
表示zxc使用者只能建立222和333檔案
root授予zxc使用者有關網路的使用者,但是有關命令很多,很麻煩,可以使用別名
cmnd_alias networking = /sbin/route, /sbin/ifconfig, /bin/ping, /sbin/dhclient, /usr/bin/net, /sbin/iptables, /usr/bin/rfcomm 等
root all=
(all) all
zxc all=networking
root使用者授予相應的許可權給普通使用者(許可權最小化的原則),普通使用者就可以不使用root密碼來
實現root相應的許可權,即使做了誤操作,也能相應防護。
GNU Ocvate介紹及基本操作
gnu oct e是一種以高階程式語言為特色的軟體,主要用於數值計算。oct e 有助於以數值方式解決線性和非線性問題,以及使用與matlab最相容的語言執行其他數值實驗。它也可以用作面向批處理的語言。作為gnu 專案的一部分,它是根據gnu 通用公共許可證條款的自由軟體。所有版本的 debian ...
紅帽操作 二 root許可權和sudo解析
su 命令切換到root,輸入root命令。但是呢,他只是切換使用者,不切換目錄 su 使用者 這樣就是連目錄一起換了。這裡就涉及到了環境變數的問題。root使用者切換到任何使用者都不用密碼。意思是,root使用者可以授權某使用者可以使用指定的命令。先轉換到root使用者下面 然後呢,打入命令gei...
Linux執行緒介紹及函式操作
執行緒共享資源 乙個程序中的多個執行緒共享以下資源 1.可執行的指令 2.靜態資料 3.程序中開啟的檔案描述符 4.當前工作目錄 5.使用者id 6.使用者組id linux執行緒庫 pthread執行緒庫中提供以下操作 建立執行緒 執行緒 結束執行緒 同步和互斥機制 訊號量 互斥鎖 使用執行緒庫編...