歡迎您光臨本站 註冊首頁

Unix中限制root遠程登錄的方法

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
    UNIX系統中,計算機安全系統建立在身份驗證機制上。如果root口令失密,系統將會受到侵害,尤其在網路環境中,後果更不堪設想。因此限制用戶 root 遠程登錄,對保證計算機系統的安全,具有實際意義。本文向大家介紹一些方法,能達到限制 root 遠程登錄的目的。

  方法一:在/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 文件中加入一行:

  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 程序段中,將下述內容:

  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。

  方法五:在上述方法中,雖限制了普通用戶執行su 命令,但「精明」的用戶可以用 ftp 命令上載一個用戶可以執行的 su命令,從而實現 root 遠程登錄。為了防止這一點,需要在路由器上設立防火牆,限制用戶執行ftp協議,這裡不再贅述。


[火星人 ] Unix中限制root遠程登錄的方法已經有291次圍觀

http://coctec.com/docs/unix/show-post-73982.html