我認為運行命令與sudo
以 root 使用者身分登入並執行命令相同。然而,我發現一些命令不適sudo
用於su
.
例如,
sudo > mail.log
bash: mail.log: Permission denied
但實際上輸入su
並執行相同的命令是有效的。
為什麼是這樣?
答案1
看看你用這個指令做了什麼。
sudo > mail.log
>
在重定向 stdout 之前的命令列中嘗試截斷mail.log
檔案。此操作由普通用戶執行(在sudo
不帶參數的啟動之前)。普通用戶可能沒有mail.log
文件的寫入權限。
一切都按其應有的方式進行。
如果需要sudo來執行命令並將其寫入檔案類型,請使用以下命令:
sudo "some_command with operands > mail.log"