我认为使用 运行命令与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"