su與su -,sudo 的區別
阿新 • • 發佈:2022-03-17
"sudo" , "su" , "su - " 區別;
一、sudo是一種許可權管理機制,依賴於/etc/sudoers,其定義了授權給哪個使用者可以以管理員的身份能夠執行什麼樣的管理命令;
格式: sudo -u USERNAME COMMAND
預設情況下,系統只有root使用者可以執行sudo命令。需要root使用者通過使用visudo命令編輯sudo的配置檔案/etc/sudoers,才可以授權其他普通使用者執行sudo命令。
二、su 為 switch user,即切換使用者的簡寫。
格式為兩種: su -l USERNAME(-l為login,即登陸的簡寫) su USERNAME
如果不指定USERNAME(使用者名稱),預設即為 root,
su USERNAME,與su - USERNAME的不同之處如下: 1、su - USERNAME 切換使用者後,同時切換到新使用者的工作環境中。 2、su USERNAME 切換使用者後,不改變原使用者的工作目錄,及其他環境變數目錄。
三、
su -,su -l 或 su --login 命令改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,LOGNAME。此外,也會變更PATH變數。
"su" 與 "su - " 切換最大的就是 更改了環境變數一塊切換。
用su -命令則預設轉換成成root使用者了。
所以切換到root的身份的命令即為:su -root 或 su - ,su root 或 su。
而不帶引數的"su命令"不會改變當前工作目錄以及 HOME,SHELL,USER,LOGNAME。只是擁有了root的許可權而已。