Linux
sudo 作為具有 sudo 權限的使用者?
Alice 擁有 sudo 權限。Bob 不知道(這是不可更改的),但知道 Alice 帳戶的密碼。
如果 Bob 想要執行管理命令,他必須:
su alice
- 為 su 填寫 Alice 的密碼
sudo whoami
- 填寫 Alice 的 sudo 密碼
- 命令以超級使用者權限執行
為了縮短這個我使用:
su -m alice -c 'sudo whoami'
。但是,我想建構一個別名命令,用正常的 sudo 命令替換這個乏味的命令。
所以我做了這個:
alias sudo="su -m alice -c 'sudo $@'"
。2個警告:
- 它不起作用
- 它總是要求 Alice 的 su 密碼,它確實記得的 sudo 密碼
我怎樣才能做得更好?
謝謝!
這取決於 sudoers 配置。如果設置了“預設要求”,則此方法將不起作用。
suds () { ARGS="$@" /bin/su -m alice -c "/usr/bin/sudo TERM=xterm $ARGS" }
關於這個的一些評論
- 它將始終要求 alice 的密碼來驗證 su。
- 當一個變數用單引號偏移時,它通常不會被擴展。
- 我傾向於使用函式而不是別名,它們允許我為轉換添加更多邏輯。
- 從安全的角度來看,這是一個壞主意。在實施之前確保這不違反當地政策。
富有的