讓一個普通的使用者轉換成為管理員:
如果要讓一個普通的系統使用者成為系統管理員,可以在UNIX環境下用SU命令。這個命令的意思是代替使用者(Subsititute user)但是在以前常被一些駭客用來轉換成為管理員(ROOT)身份,因此這個命令也被成為超級使用者(SUQER USER)。
SU命令的參數是要轉換成為的使用者名稱,如果不帶任何參數使用SU命令。系統認為使用者要轉換成ROOT身份,因此回顯示提示資訊,要求擁護提供正確的ROOT口令。比如DAVID要獲得BDSK的身份,則在命令中輸入:
S su bdsk
要獲得新使用者的系統設定,要在SU命令和使用者命中見用“—”連子符號這個連子符號告訴SU程式不但成為這個使用者,而且還要獲得哪個使用者身份登陸時該使用者的環境。
防禦辦法:
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
有點麻煩,冒昧問一下,我用tcp wrapper禁止外部telnet串連是否足夠了?
對方可以用FTP只要不管用什麼方法登陸 他們的手段一般都是破解ROOT的密碼得到ROOT的許可權。或者把一個普通的使用者權限提升。給自己留個後路不過SU命令現在一般都行不動。