系統:redHat 5.5
背景:
在linux的世界了,root用戶就好像是神,它可以在系統中爲所欲爲,無所不能,極端情況下它可以將它存在的世界自刪除。所以每個公司Linux系統管理員都希望儘量少的管理者知道root密碼。但在實際工作中,技術安全和公司流程、策略難免也有衝突的時候。公司除了你,還有其他幾位大牛都知道root密碼。爲了安全,只允許你和這幾位大牛的機器遠程root登陸服務器。
解決方法:
通常做法是修改/etc/ssh/sshd_config文件,將其中的PermitRootLogin改成no,然後重新啓動ssh服務.service sshd restart
但是這樣做便把作爲管理員的你也擋在了門外,就好像爲了防賊進入屋子,你卻站在屋外把門封了。如果那天服務器出了問題需要root用戶登陸維護,那你就只有乖乖跑路到機房,忍受着輻射和噪音,接上顯示器和鍵盤local登陸。
爲了給自己和受信的機器留出root通道,同時又要限制其它所有root遠程登陸。
可以在/root/.bash_profile中加入以下幾行簡單bash代碼就可以了。
- allowHostsList="192.168.0.10 192.168.0.11" #允許root遠程登陸的IP
- remotHost=$(env | grep SSH_CLIENT | awk '{print $1}' | awk -F "=" '{print $2}')
- if echo "${allowHostsList}" | grep "${remoteHost}" > /dev/null
- then :
- else
- exit
- fi