1. 程式人生 > 其它 >su與sudo(2)

su與sudo(2)

su和su -

su命令和su -命令最大的本質區別就是:

前者只是切換了root身份,但Shell環境仍然是普通使用者的Shell;而後者連使用者和Shell環境一起切換成root身份了。

只有切換了Shell環境才不會出現PATH環境變數錯誤。su切換成root使用者以後,pwd一下,發現工作目錄仍然是普通使用者的工作目錄;

而用su -命令切換以後,工作目錄變成root的工作目錄了。用echo $PATH命令看一下su和su -以後的環境變數有何不同。以此類推,要從當前使用者切換到其它使用者也一樣,應該使用su -命令。

 

sudo

sudo是linux下常用的允許普通使用者使用超級使用者許可權的工具

,允許系統管理員讓普通使用者執行一些或者全部的root命令,如halt,reboot,su等等。
這樣不僅減少了root使用者的登陸和管理時間,同樣也提高了安全性。Sudo不是對shell的一個代替,它是面向每個命令的。

 

它的特性主要有這樣幾點:
       1、sudo能夠限制使用者只在某臺主機上執行某些命令。
       2、sudo提供了豐富的日誌,詳細地記錄了每個使用者幹了什麼。它能夠將日誌傳到中心主機或者日誌伺服器。
       3、sudo使用時間戳檔案--日誌 來執行類似的“檢票”系統。當用戶呼叫sudo並且輸入它的密碼時,使用者獲得了一張存活期為5分鐘的票(這個值可以在編譯的時候改變)。
       4、sudo的配置檔案是/etc/sudoers,屬性必須為0440,它允許系統管理員集中的管理使用者的使用許可權和使用的主機。

 

編輯配置檔案命令:visudo

編輯配置檔案命令:visudo

編輯配置檔案命令:visudo

使用案例

新增一行 

wrz     ALL=(ALL)    /usr/sbin/useradd

儲存 退出

 

切換使用者

su - wrz

開始測試

新增成功