昨天遇到乙個很奇怪的事情,有一台伺服器在使用su - root命令切換到root賬號時,老是報密碼不正確。但是root密碼完全是正確的,而且可以使用賬號密碼直接ssh登入伺服器。很是納悶,如下所示:
後面google搜尋了一些資料,然後測試、驗證後才弄明白了具體原因。在linux中為了更進一步加強系統的安全性,很有必要建立了乙個管理員的組,只允許這個組的使用者來執行
「su -
」命令登入為root使用者,而讓其他組的使用者即使執行
「su -
」、輸入了正確的root密碼,也無法登入為root使用者。在unix和linux下,這個組的名稱通常為
「wheel
」。而這個是在配置檔案/etc/pam.d/su裡面配置的。如下截圖所示:
"auth required pam_wheel.so use_uid" 表示禁止非wheel組使用者切換到root。所以就出現了上面在oracle使用者下切換root使用者報密碼錯誤的情況
wheel組概念
wheel組是unix系統乙個遺留物。當伺服器需要做比日常例行維護更高階的工作的時候,就經常需要用到root許可權了。而這個wheel組就是建立用來歸納一些特殊的系統使用者用的,這其中的使用者都或多或少地擁有root的部分功能和許可權。也就是說如果你不是wheel組成員,那就沒有root身上任何的特權。也因為這樣,使用wheel組成員使用者的話,會儘量減少對系統
「摧毀性」
為什麼需要wheel組?
通常在unix下,即使我們是系統的管理員,也不推薦用 root 使用者登入來進行系統管理。一般情況下用普通使用者登入,在需要 root 許可權執行一些操作時,再 su 登入成為 root 使用者。但是,任何人只要知道了 root 的密碼,就都可以通過 su 命令來登入為 root 使用者
——這無疑為系統帶來了安全隱患。所以,將普通使用者加入到 wheel 組,被加入的這個普通使用者就成了管理員組內的使用者,但如果不對一些相關的配置檔案進行配置,這個管理員組內的使用者與普通使用者也沒什麼區別
——就像警察下班後,沒有帶槍、穿這便衣和普通人(使用者)一樣,雖然他的的確確是警察。這個對於系統安全確實很有幫助。
1:檢視wheel組
[root@db-server ~]# cat /etc/group | grep wheel
wheel:x:10:root
[root@db-server ~]# groups oracle--檢視某個使用者的使用者組
oracle : oinstall dba
2:檢查日誌發現那些做了su切換的日誌資訊。
[root@db-server ~]#grep su /var/log/secure | grep -v sudo
jun 20 11:32:46 db-server su: pam_unix(su-l:session): session opened for user oracle by root(uid=0)
jun 20 11:32:53 db-server su: pam_unix(su-l:auth): authentication failure; logname=root uid=500 euid=0 tty=pts/2 ruser=oracle rhost=user=root
jun 20 11:33:07 db-server su: pam_unix(su-l:auth): authentication failure; logname=root uid=500 euid=0 tty=pts/2 ruser=oracle rhost=user=root
jun 20 11:33:20 db-server su: pam_unix(su-l:session): session closed for user oracle
[root@db-server ~]#
解決方法也很簡單,要麼將對應的賬號加入wheel組,要麼注釋掉配置檔案/etc/pam.d/su中的"auth required pam_wheel.so use_uid"
那一行記錄。
參考資料:
linux下建立使用者,組
linux下建立使用者 一 linux 系統是乙個多使用者多工的分時作業系統,任何乙個要使用系統資源的使用者,都必須首先向系統管理員申請乙個賬號,然後以這個賬號的身份進入系統。使用者的賬號一方面可以幫助系統管理員對使用系統的使用者進行跟蹤,並控制他們對系統資源的訪問 另一方面也可以幫助使用者組織檔案...
Linux 使用者 使用者組
一 配置檔案說明 group x 0 組名稱 組密碼佔位符 組編號 組中使用者名稱列表 group 組名稱 組密碼 組管理者 組中使用者名稱列表 user x 0 0 home user bin bash 使用者名稱 密碼佔位符 使用者編號 使用者組編號 使用者注釋資訊 使用者主目錄 shell型別...
Linux使用者 組
1 查詢使用者 組 查詢當前使用者名稱 whoami 查詢關鍵字所對應的使用者id uid 組id gid 及所在組 id key 查詢當前使用者所屬的組 groups 查詢系統所有的組 cat etc group 或 groupmod tab鍵 x 3切換使用者 su root or other ...