Linux下如何限制Root用戶進行遠程登陸
限制用戶 root 遠程登錄,對保證計算機系統(tǒng)的安全,具有實際意義。本文向大家介紹一些方法,能達到限制 root 遠程登錄的目的。
方法一:在/etc/default/login 文件,增加一行設(shè)置命令。
CONSOLE = /dev/tty01
設(shè)置后立即生效,無需重新引導(dǎo)。以后,用戶只能在控制臺(/dev/tty01)root登錄,從而達到限制root遠程登錄,不過,同時也限制了局域網(wǎng)用戶root登錄,給管理員的日常維護工作帶來諸多不便。
方法二:1.為了達到限制root遠程登錄,首先要分清哪些用戶是遠程用戶(即是否通過另一臺 Windows 系統(tǒng)或 UNIX 系統(tǒng)進行 telnet 登錄),哪些用戶是局域網(wǎng)用戶。通過以下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 地址和機器名之間的對應(yīng)關(guān)系,則 WH 為用戶登錄的主機名。假設(shè)連接到局域網(wǎng)中的終端服務(wù)器的IP 地址為:
99.57.32.18, 那么應(yīng)在 /etc/hosts 文件中加入一行:
99.57.32.18 terminal_server
所有通過99.57.32.18終端服務(wù)器登錄到主機的終端中,WH 是同一個值,即為終端服務(wù)器名terminal_server。
2.在root的.profile文件中,根據(jù) WH 值進行不同的處理,從而實現(xiàn)限制root遠程登錄。
Trap 1 2 3 9 15
If [ "$WH" = "local" -o "$WH" = "terminal_server" ]
then
echo "Welcome......"
else
exit
fi
方法三:有時為了工作的方便,允許局域網(wǎng)中部分電腦root登錄,例如,允許局域網(wǎng)中IP 地址為 99.57.32.58 的電腦root登錄,要實現(xiàn)這一點,需要在前述方法中,作兩點補充:
1.在 /etc/hosts 文件中,加入一行:99.57.32.58 xmh。
2.在上述 Shell 程序段中,將下述內(nèi)容:
If [ "$WH" = "local" -o "$WH" = "terminal_server" ]
修改為:
If [ "$WH" = "local" -o "$WH" = "terminal_server" -o "$WH"= "xmh" ]
方法四:經(jīng)過以上處理后,仍存在普通用戶登錄后用su命令變成 root 用戶的可能,從而達到 root 遠程登錄的目的。為了防止用這種方法實現(xiàn) root 遠程登錄,需要限制普通用戶不能執(zhí)行 su 命令:
1.將su命令屬主改為 root;
2.將su命令的權(quán)限改為 700