解析su,su -,sudo的區別
阿新 • • 發佈:2019-01-07
http://blog.warmcolor.net/2013/02/03/%E8%A7%A3%E6%9E%90susu-sudo%E7%9A%84%E5%8C%BA%E5%88%AB/
肯定有人不知道下面兩個命令的區別,
1 |
[[email protected] ~]$
su
|
1 |
[[email protected] ~]$ su
- ##(有個減號)
|
那下面兩個命令的區別呢?
1 |
[[email protected] ~]$ su
|
1 |
[[email protected] ~]$ sudo
su
|
首先,su,su -這兩個命令都能獲得root許可權,
但root的密碼是不能隨便交給別人的,這時就需要sudo命令了,
使用使用者自己的密碼,臨時賦予一般使用者root許可權,
sudo的執行過程是這樣的:
- 檢查使用者是否在/etc/sudoers的列表中,
- 如果在,以root許可權執行命令,
- 取消使用者的root
接著說說這三個命令的區別:
下面是su的過程:
01 02 03 04 05 06 07 08 09 10 11 |
[[email protected] ~]$
su
密碼:
[[email protected] warmcolor] # pwd
/home/warmcolor
[[email protected] ~] # echo $PATH /usr/lib/qt-3 .3 /bin : /usr/local/bin : /usr/bin : /bin : /usr/local/sbin : /usr/sbin : /sbin : /home/warmcolor/bin
|
下面是su -的過程:
01 02 03 04 05 06 07 08 09 10 11 |
[[email protected] ~]$
su -
密碼:
[[email protected] ~] # pwd
/root
[[email protected] ~] # echo $PATH
/usr/lib/qt-3 .3 /bin : /usr/local/sbin : /usr/local/bin : /sbin : /bin : /usr/sbin : /usr/bin : /root/bin
|
下面是sudo的過程:
1 2 3 4 5 6 7 8 9 |
[[email protected] ~]$
sudo pwd
[ sudo ] password
for warmcolor:
/home/warmcolor
[[email protected] ~]$
sudo echo
$PATH
/usr/lib/qt-3 .3 /bin : /usr/local/bin : /usr/bin : /bin : /usr/local/sbin : /usr/sbin : /sbin : /home/warmcolor/bin
|
可以看出su和sudo沒有切換工作目錄和環境變數,只是賦予使用者許可權,
而su -是真正切換到root登入,工作目錄切換到/root,環境變數也同時改變.
而網上還有一個說法,sudo 預設將原有的環境變數 reset,只保留一些對安全沒有影響設定.
至於上面第二個問題,答案其實很簡單,
同樣切換到root登入,
su使用root的密碼,而sudo su使用使用者密碼.
上述命令更為具體的描述請參見man手冊.