如何禁止root用戶遠程登錄

方法一:

可以通過修改/etc/ssh/sshd_config文件,將其中的PermitRootLogin改成no,然後重新啓動ssh服務就 可以了。/etc/rc.d/sshd restart

方法二:在/etc/default/login 文件,增加一行設置命令:

CONSOLE = /dev/tty01

設置後立即生效,無需重新引導。以後,用戶只能在控制檯(/dev/tty01)root登錄,從而達到限制root遠程登錄,不過,同時也限制了局 域網用戶root登錄,給管理員的日常維護工作帶來諸多不便。

方法三:1.爲了達到限制root遠程登錄,首先要分清哪些用戶是遠程用戶(即是否通過另一臺 Windows 系統或 UNIX 系統進行 telnet 登錄),哪些用戶是局域網用戶。通過以下shell程序能達到此目的。

TY=`tty | cut -b 9-12`

WH=`finger | cut -b 32-79 | grep "$TY " | cut -b 29-39`

KK=` tty | cut -b 6-9`

If [ "$KK" = "ttyp" ]

Then

WH=$WH

Else

WH="local"

Fi

以上Shell命令程序中,WH爲登錄用戶的主機IP地址,但如果在 /etc/hosts 文件中,定義了IP 地址和機器名之間的對應關係,則 WH 爲用戶登錄的主機名。假設連接到局域網中的終端服務器的IP 地址爲:99.57.32.18, 那麼應在 /etc/hosts 文件中加入一行:

www.2cto.com  

99.57.32.18 terminal_server

所有通過99.57.32.18終端服務器登錄到主機的終端中,WH 是同一個值,即爲終端服務器名terminal_server。

2.在root的.profile文件中,根據 WH 值進行不同的處理,從而實現限制root遠程登錄。

Trap 1 2 3 9 15

If [ "$WH" = "local" -o "$WH" = "terminal_server" ]

Then

Echo "Welcome......"

Else

Exit

Fi

方法四:有時爲了工作的方便,允許局域網中部分電腦root登錄,例如,允許局域網中IP 地址爲 99.57.32.58 的電腦root登錄,要實現這一點,需要在前述方法中,作兩點補充:

1.在 /etc/hosts 文件中,加入一行:99.57.32.58 xmh。

2.在上述 Shell 程序段中,將下述內容:

www.2cto.com  

If [ "$WH" = "local" -o "$WH" = "terminal_server" ]

修改爲:

If [ "$WH" = "local" -o "$WH" = "terminal_server" -o "$WH"= "xmh" ]

方法五:經過以上處理後,仍存在普通用戶登錄後用su命令變成 root 用戶的可能,從而達到 root 遠程登錄的目的。爲了防止用這種方法實現 root 遠程登錄,需要限制普通用戶不能執行 su 命令:

1.將su命令屬主改爲 root;

2.將su命令的權限改爲 700


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章