将日志消息写入文件时Linux权限被拒绝

将日志消息写入文件时Linux权限被拒绝
sudo date > output.txt
bash: output.txt: Permission denied

我想将日志消息写入文件,但是即使我添加前缀,权限也被拒绝sudo,但是当我在创建output.txt文件并将权限更改为之后尝试时755,效果很好。

如何在不创建文件和更改权限的情况下写入日志消息?

只是喜欢sudo date > output.txt --chmod 755 ?

答案1

date | sudo tee output.txt > /dev/null

这是有效的,因为tee打开它output.txt并且它以 root 身份运行。这> /dev/null只是扔掉tee发送到 的额外副本stdout

sudo date > output.txt不起作用的原因是输出重定向( > output.txt)已完成sudo date启动,因此以当前访问权限运行。

另一种方法是更改​​当前目录的权限以允许当前用户创建文件。这样做意味着date > output.txt不需要sudo.

相关内容