1. 程式人生 > >Linux: sudo 和 su 命令異同

Linux: sudo 和 su 命令異同

sudo

通常 ‘Permission denied’ 錯誤的時候,需要執行 sudo 命令. 該命令會提高執行許可權(通常是 root). 當然 使用 sudo -u username 會指定特定使用者.
並不是所有的使用者都可以執行 sudo 命令, 只有在 sudoers file 中存在的使用者才能執行. 具體請看這裡: sudoers file

編輯 sudoers file 時建議使用 visudo :

sudo visudo

visudo 會在其他使用者編輯時鎖定改檔案,並進行語法檢查.操作是安全的. 我之前有次直接編輯 sudoers file ,就給sudo搞壞了 2333

su

su 命令

su 命令可以在一個登陸 session 下切換不同使用者(通常是root).意思就是不需要退出當前使用者的登入而切換到新使用者.

su username

username 為空預設切換到root使用者. 輸入要登入使用者密碼即可.

這裡寫圖片描述

su - 命令

另一種切換root使用者的方法就是 su -
- 必須作為 su 的最後一個引數. 而 -l -login 沒有該限制

這裡寫圖片描述

su 和 su -

  1. susu - 進入的目錄是不一樣的
  2. su 會保持前者的使用者環境, 而 su - 會新建一個目的使用者的環境
  3. su 會保持當前使用者的環境, 因為在某些情況下, 使用當前使用者比管理員賬戶能更好的解決問題. 比如重現或者debug問題時,在當前使用者環境下更高效
  4. 當然 su 在很多情況下是不建議使用的, 或者說是相當危險的. 因為 root 使用者要在當前使用者的環境下操作, 而不是自己的環境. 因為這會給非 root 使用者 更改系統檔案或資料的許可權

su -c

該命令可以允許新增要執行的命令

su [target-user] -c [command-to-run]

當前的shell會在 /etc/passwd 檔案中替換 ‘target-user’ shell

sudo 和 su

差別一

最大的不同就是所需要的密碼不同: sudo 需要的是當前使用者的密碼,而 su 命令需要的是 管理員的密碼.
所以, sudo 命令比 su 命令更安全. su 命令需要其他使用者也知道 root 密碼, 而 sudo 只需要配置 sudoers file 即可, 而且可以隨時刪除特定使用者的許可權.

差別二

另一個不同就是, sudo 僅僅是提高當前執行命令的許可權. 而 su 命令可以執行 root 的所有許可權. 所以在一定意義上講, su 命令還是很危險的. 比如 rm -rf 2333

sudo su 命令

由於執行 su 命令存在風險,所以 Linux 一些系統,比如Ubuntu,預設禁掉了 root 使用者. 然而使用 sudo su 命令仍然可以獲取root.

P.S. 如果想開啟root使用者的話(當然不建議), 可以執行以下命令:
“`
sudo passwd root

建議

由於 su 命令風險比較大,建議將系統的 su 更換成 su -l

alias su="su -l"

參考

相關推薦

Linux: sudo su 命令異同

sudo 通常 ‘Permission denied’ 錯誤的時候,需要執行 sudo 命令. 該命令會提高執行許可權(通常是 root). 當然 使用 sudo -u username 會指定特定使用者. 並不是所有的使用者都可以執行 sudo 命令, 只

Ubuntu進入root許可權命令——sudosu命令詳解

ubuntu使用者管理 sudo意思就是super-user do,讓當前使用者暫時以管理員的身份root來執行這條命令。 su是用來改變當前使用者的,su root,就是將當前使用者切換為root,用了su root之後,下面所有的命令就可以不用打sudo了,因為當前使

linux sudoers修改導致不能在終端使用sudo su的解決方法

修改/etc/sudoers檔案,執行命令如下: /*username是你的使用者名稱*/ [[email protected] ~]# echo 'username  ALL=(ALL)    ALL' >> /etc/sudoers   或者root許可權下輸入Visudo 或者

su su - 命令有何不同

本質 tro shel 最大的 錯誤 path環境變量 命令 su - pwd su命令和su -命令最大的本質區別就是:前者只是切換了root身份,但Shell環境仍然是普通用戶的Shell;而後者連用戶和Shell環境一起切換成root身份了。只有切換了Shell環境才

Linux-bgfg命令(19)

ctrl 執行 ctr com -c col lin style 繼續 使用ctrl+z將程序掛在後臺: jobs 查看後臺的命令: fg(fore go) 將後臺的命令,放置前臺(fore)繼續執行,比如:fg 2 //等價於vi 2.txt

Linux學習常用命令

系統命令 Linux教程 Linux命令大全 #df -h 檢視硬碟剩餘空間 #du -hs 目錄名 檢視目錄佔用空間 rm -r 刪除資料夾 cp src dst 拷貝 sudo rm -rf /home/you

linux findlocate命令詳解

linux中find命令優點是能實現精確查詢,缺點對系統資源耗費大。 一:檔案查詢命令,按檔名稱查詢. 官方要求檔名需要加雙引號,保證搜尋的完整性。 find 目錄 -iname " init "(不區分大小寫) find 目錄 -name “init

因修改/etc/sudoers許可權導致sudosu不能使用問題

現象描述及問題解決真是閒來無事手賤,作死的節奏,請不要問我為什麼,我也想知道為什麼。為了給一個賬戶新增能使用sudo的許可權,修改了/exc/sudoers檔案許可權。修改完之後發現所有的賬戶都無法使用sudo和su命令了。起因:因執行 $ sudo chmod 777  /

免密碼使用sudosu

設定sudo免密碼 sudo是linux系統管理指令,是允許系統管理員讓普通使用者執行一些或者全部的root命令的一個工具,如halt、reboot、su等等。 登入到root使用者 將使

因修改/etc/sudoers許可權導致sudosu不能使用的解決方法

# /etc/sudoers # # This file MUST be edited with the 'visudo' command as root. # # See the man page for details on how to write a sudoers file. # D

Linux 檔案管理命令chmod、chown、chgrp

chmod命令 chmod命令用來變更檔案或目錄的許可權。在UNIX系統家族裡,檔案或目錄許可權的控制分別以讀取、寫入、執行3種一般許可權來區分,另有3種特殊許可權可供運用。使用者可以使用chmod指

Linux szrz 命令安裝

執行:yum install lrzsz 等待安裝完畢,然後一直輸入Y即可 注意事項: linux預設版本是無法使用 sz和rz 命令的,會提示:waiting to receive.**B0100000023be50 這個時候,換個工具連線Linux即可(如X

Linux基本命令33:su命令sudo服務

1 su命令 su命令可以解決切換使用者身份的需求,使得當前使用者在不退出登入的情況下,順暢地切換地切換到其他使用者,比如從root管理員切換至普通使用者: “-” 意味著完全切換到新的使用者,即把環境變數資訊也變更為新使用者的相應資訊,而不是保留原始的資訊。 從 root 管

susudo的區別與使用,su命令linux命令

系統管理 退出 name 用戶登錄 表示 chan 關聯 resolv mas su和sudo的區別與使用 一. 使用 su 命令臨時切換用戶身份 1、 su 的適用條件和威力 su命令就是切換用戶 的工具,怎麽理解呢?比如我們以普通用戶beinan登錄的,但要

linux限制root遠程登錄、su命令sudo命令

linux root su sudo su命令:1、su 切換用戶命令 例:su - aming2、whoami 查看當前用戶命令3、pwd 查看當前目錄例:輸入su aming也可以切換用戶,但是目錄不在自己用戶目錄下,如下:[root@aminglinux-01 ~]# su am

Linux 文件系統屬性 chattr 權限 系統命令 sudo 權限

但是 col nbsp 刪除權限 改名 用戶名 strong 文件系統 all 01、chattr格式 => chattr [+-=][選項]文件或者目錄名     +:增加權限     -:刪除權限     =:等於權限     lsattr:查看 cha

Linux學習總結(六)-su命令 sudo 命令 限制root遠程登錄

su - rest 一次 com 註冊 情況 保存配置文件 所有權 是把 root 用戶擁有至高無上的權利,那麽我們運維人員是不是直接在root用戶下處理所有問題呢?答案是否定的,權力越大,責任越大,人是會犯錯的,因此我們要在不影響我們的工作情況下,盡量限制我們的權力,以免

Linux centosVMware su命令sudo命令、限制root遠程登錄

密碼 system onf touch RM per otl ont vga 一、su命令 Linux系統中有些事情只有root用戶才能做,普通用戶不能做,這時候就需要臨時切換到root身份了。 [root@davery ~]# whoamiroot [root@daver

linux許可權之susudo的差別

     我們都知道非常多的檔案都僅僅有root有許可權來改動,那麼在我們平時的開發過程中都建議使用一般賬號來登入進行開發。還記得前面說到的ssh嗎。我們也是將同意root登入設定成no。到必要的時候再切換到root來進行操作,這樣就不至於有風險。 那麼我們怎樣切換身份呢。

LinuxLinuxsudosusudo-i命令解析

命令 解釋 sudo 暫時切換到超級使用者模式以執行超級使用者許可權,提示輸入密碼時該密碼為當前使用者的密碼,而不是超級賬戶的密碼。不過有時間限制,U