在Linux中wheel組就類似于一個管理員的組。
通常在Linux下,即使我們有系統管理員root的權限,也不推薦用root用戶登錄。一般情況下用普通用戶登錄就可以了,在需要root權限執行一些操作時,再su登錄成為root用戶。但是,任何人只要知道了root的密碼,就都可以通過su命令來登錄為root用戶,這無疑為系統帶來了安全隱患。所以,將普通用戶加入到wheel組,被加入的這個普通用戶就成了管理員組內的用戶,但如果不對一些相關的配置文件進行配置,這個管理員組內的用戶與普通用戶也沒什么區別,就像警察下班后,沒有帶槍、穿這便衣和普通人(用戶)一樣,雖然他的確是警察。根據應用的實例不同應用wheel組的方法也不同。這里對于服務器來說,我們希望的是剝奪被加入到wheel組用戶以外的普通用戶通過su命令來登錄為root的機會(只有屬于wheel組的用戶才可以用su登錄為root)。這樣就進一步增強了系統的安全性。具體步驟如下:
1)修改 /etc/pam.d/su 文件,找到“#?auth? ? ? ? ? ? required? ? ? ? pam_wheel.so use_uid”這一行,將行首的“#”去掉。
2)修改 /etc/login.defs 文件,在最后一行增加“SU_WHEEL_ONLY yes”語句。
3)用命令“usermod -G wheel 用戶名”將一個用戶添加到wheel組中。(命令usermod -G的意思是,修改用戶所屬的次要組群,默認test用戶的主要組群為test)
然后,用剛剛被添加到wheel組的用戶登錄,并執行su命令登錄為root用戶,這時,輸入了正確的root密碼可以正常的登錄為root用戶。但是,如果換成一個不屬于wheel組的用戶時,執行了su命令后,即使輸入了正確的root密碼,也無法登錄為root用戶,普通用戶登錄為root用戶的權限被完全剝奪了~(會收到“密碼錯誤”的提示)。這樣無疑提高了系統的安全性。
?
注意:這里有人可能會問,如果知道了root密碼,豈不是可以直接登錄系統,wheel組是不是相當于失效?
需要說明一下,在ssh的配置文件 /etc/ssh/sshd_config 中有兩處參數:
(1)AllowUsers? ? ? #?該參數用于設置允許連接的用戶
默認配置文件是沒有的AllowUsers的,需要自己加上去,如下圖,設置允許test用戶連接服務器
(2)PermitRootLogin no? ? #?該參數用于設置root用戶是否能夠使用ssh登錄
這兩處參數可以任意改一處,修改完后,保存退出。
重啟ssh服務,root用戶就連不上服務器了。
service sshd restart