Bash
為什麼“su - X”需要密碼,而“sudo -u X bash”不需要?
我知道“為什麼”問題很危險 :) 我在 RHEL 上有 sudo 訪問權限,並註意到了這一點:
su - fred Password:
(我不知道弗雷德的密碼)。
sudo -u fred bash [fred] $
有沒有辦法不需要弗雷德的密碼來做
su
?有理由想要那個嗎?
不同之處在於
sudo
使用附加到您正在執行的帳戶的權限,而su
更類似於以您要更改的使用者身份在正常提示下登錄。嘗試
su root
作為在文件中沒有權限的普通使用者sudoers
- 您可以使用root
憑據更改為該使用者,而不管您目前使用者的權限如何。相反,
sudo
在您的文件中分配的權限/etc/sudoers
允許您目前的使用者以 root 身份工作,而無需知道除您自己的任何密碼之外的任何密碼。例如,添加sudo
到您的su -u fred
命令的前面 - 不再需要 fred 的密碼,因為su
它正在以 root 權限執行。