Sudo
‘sudo’ 和 ‘su -c’ 有什麼區別
sudo
using和 using之間有什麼區別su -c
嗎?在某些情況下應該使用一種但不能使用另一種?我以前使用的 Ubuntu
sudo
似乎無處不在,但現在我正在嘗試 Fedora 15,su -c
當我嘗試學習如何做一些事情時,這個習語經常出現,儘管我仍然不時看到sudo
它被使用。
sudo
和之間的區別在於su
它們如何執行身份驗證:
su
提示輸入目標使用者的密碼。sudo
檢查源使用者是否被授權執行命令(授權在 中指定/etc/sudoers
)。根據配置,它可能會提示輸入源使用者的密碼,以減輕無人值守控制台的風險並提醒使用者權限升級正在進行。一旦獲得授權,效果是一樣的:以 root 身份執行命令(或者,如果在命令行上指定,則以其他使用者身份執行)。
還有進一步的細微差別:它們沒有採用相同的選項,並且它們沒有為它們以完全相同的方式執行的命令設置環境。“命令”的含義略有不同: for
su -c
是一個字元串,由目標使用者的 shell 執行,而 forsudo
沒有選項,它是一個帶參數執行的程序。但是對於常見的用法,它們是相同的。