選單

Linux 系統中的 root 使用者管理

Linux 系統中的 root 使用者管理

超級使用者在作業系統管理中的作用

1。 可以對任何檔案、目錄或程序進行操作

超級使用者的操作是在系統最高許可範圍內的操作,有些操作就是具有超級許可權的root也無法完成。比如/proc目錄,/proc是用來反應系統執行的實時狀態資訊的,因此即便是root也無法對其進行寫操作。

2。 對涉及系統全域性的系統管理

硬體管理、檔案系統管理、使用者管理以及涉及的系統全域性配置等,如果執行某個指令或工具時,提示無許可權,大多是需要超級許可權來完成。比如用adduser來新增使用者,這跟只能使用透過超級許可權的使用者來完成。

普通使用者授予root許可權

1。 su指令

su是英文“switch user”的縮寫,即切換使用者。使用su指令切換到其他使用者模式,提示輸入密碼時,該密碼為切換後賬戶的密碼,用法為:su 賬戶名稱

如果後面不加賬戶時預設為root賬戶,密碼也為超級賬戶的密碼。沒有時間限制。

2。 su指令使用條件

su指令就是切換使用者的工具,當前系統登入為普通使用者handuoduo,但要完成新增使用者任務,執行useradd指令後,提示普通使用者handuoduo沒有許可權,而這跟許可權恰恰由root所擁有。解決的辦法有兩個:

1)退出handuoduo使用者,重新以root使用者登入,但這種辦法並不是最好的。

2)不退出handuoduo使用者,可以用su來切換到root下進行新增使用者的工作,等任務完成後再退出root。

我們可以看到當然透過su切換是一種比較好的辦法。

透過su可以在使用者之間切換,超級許可權使用者root向普通或虛擬使用者切換不需要密碼,而普通使用者切換到其他任何使用者都需要密碼驗證。

3。 su指令用法

su指令常用的選項如下所示:

-c, -command  執行相關指令,然後退出所切換到的使用者環境

-l, -login  登入並改變到所切換的使用者環境。

關於su指令更詳細的使用,可以參考man su

4。 su指令例項

su指令在不加任何引數,預設為切換到root使用者,但沒有轉到root使用者主目錄的情況下,也就是說這時雖然是切換為root使用者了,但並沒有改變root登入環境,即使用者預設登入環境。可以在/etc/passwd中查到,包括主目錄、shell定義等。

在上述程式碼中,普通使用者模式下,直接輸入su指令即可切換到root使用者,su加引數“-”表示預設切換到root使用者,並且改變到root使用者的環境。

su 指令加上 “-” 引數,目標使用者的環境變數一起被切換,“su 引數 - 使用者名稱”,下面程式碼和上述例項中的作用相同。

“su - root”指令和“su -”功能相同。

5。 su 的優缺點

su的確為管理帶來方便,透過切換到root下,能完成所有系統管理工具。只要把root的密碼交給任何一個普通使用者,它都能切換到root來完成所有的系統管理工作。但透過su切換到root後,也有不安全因素,比如系統有10個使用者,而且都參與管理。如果這10個使用者都涉及超級許可權的運用,作為管理員如果讓其他使用者透過su來切換到超級許可權的root,必須把root許可權密碼都告訴這10個使用者;如果這10個使用者都有root許可權,透過root許可權可以做任何事,這在一定程度上就對系統的安全造成了威脅。

“沒有不安全的系統,只有不安全的人”,我們不能保證這10個使用者都能按正常操作流程來管理系統,這其中任何一個人對系統操作的重大失誤,都可能導致系統崩潰或資料損失。所以su工具在多人參與的系統管理中,並不是最好的選擇。

總結

su - root 和 su root 指令的區別如下:

su指令後面不加使用者是預設切換到root;

su指令不改變當前變數;

“su -”指令組合改變為切換到使用者的變數;

su指令只能獲得root的執行許可權,不能獲得環境變數;

“su -”指令組合是切換到root使用者,並獲得root使用者的環境變數及執行許可權。

END