pam驗證和sudo介紹及操作

2021-10-01 12:26:49 字數 3613 閱讀 3942

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執行緒庫中提供以下操作 建立執行緒 執行緒 結束執行緒 同步和互斥機制 訊號量 互斥鎖 使用執行緒庫編...