大家平時都是用超級使用者root的角色登入系統還是其他使用者的角色登入系統呢?
為了伺服器的安全,我勸大家盡可能所有伺服器禁止超級使用者root 用ssh的方式直接登入系統:
(我的系統環境為:Linux localhost.localdomain 2.6.32-358.el6.x86_64 #1 SMP Tue Jan 29 11:47:41 EST 2013 x86_64 x86_64 x86_64 GNU/Linux)
#vim /etc/ssh/sshd_config
在檔案中,找到下面一行文字:
#PermitRootLogin yes //把這行文字改成下面的,預設是注釋的,即預設是允許登入的
PermitRootLogin no //禁止root使用者登入
#service sshd restart //把ssh重新啟動就可以了。
這個時候,你用CRT或者Xshell或者putty 等軟體重新登入就不行了。但是你可以用其他使用者登入。
---------------------------------------------------------------------------------------------------
小插曲: 我們很多時候是用ssh 來登陸,ssh 協定的預設端口号是22 ,我們可以改掉,比如改成55555,隻要是1~65535之間即可。 這樣,也可以提高伺服器的安全性。
改的方法:
# vim /etc/ssh/sshd_config
#Port 22 //預設是注釋的,沒關系,把#去掉,改22為55555
Port 55555
#service sshd restart //重新開機ssh服務就可以了
----------------------------------------------------------------------------------------------------
那我們用其他使用者登入,需要用到root的權限該怎麼辦呢?
比如使用者user01,我們想讓user01可以通路/etc/shadow,怎麼做呢?
1. #visudo //這個指令相當于vim /etc/sudoers
在檔案最後加入:
user01 ALL = /bin/cat /etc/shadow
紅色: 表示哪個使用者,即user01
***: 表示這個使用者允許在哪台主機上使用者,ALL表示所有的主機都可以用user01這個使用者登入
藍色: 表示可以使用的指令,即/bin/cat,除了這個指令,其他指令不允許使用。
紫色: 表示可以檢視的檔案
2.$ sudo cat /etc/shadow //sudo這個指令,是普通使用者執行root使用者的權限,必須帶的指令,執行完上面這個指令後,輸入user01的密碼,就可以檢視/etc/shadow了。
-----------------------------------------------------------------------------------------------------
使用sudo這個指令,每次使用它都需要密碼,這給我們造成很大不方面,或者有一些自動調用超級權限的程式會出現問題,是以,我們把密碼去掉。
1. #visudo //這個指令相當于vim /etc/sudoers
user01 ALL = NOPASSWD: /bin/cat /etc/shadow
這樣就可以了。
2. $ sudo cat /etc/shadow //回車之後,直接輸出内容,不會再問你要密碼了
---------------------------------------------------------------------------------------------------
如果想讓user01有root的全部權限,怎麼做呢?
1. #visudo //這個指令相當于vim /etc/sudoers
user01 ALL = (ALL) NOPASSWD: ALL
2. 這樣user01就相當于root了,擁有全部權限。
本文轉自 曾國藩_6868 51CTO部落格,原文連結:http://blog.51cto.com/8184069/1717504