为什么向日志文件写入内容时权限被拒绝?

为什么向日志文件写入内容时权限被拒绝?
debian8@hwy:~$ sudo cat /etc/sudoers |grep debian8
debian8  ALL=(ALL:ALL) NOPASSWD:ALL

这意味着 debian8 是一个被允许以超级用户身份执行命令的用户。
我想在日志文件中写入一些内容。

debian8@hwy:~$ trafficlog="/var/log/traffic.log"
debian8@hwy:~$ sudo echo -n `date "+%Y-%m-%d %H:%M:%S"` >> $trafficlog
bash: /var/log/traffic.log: Permission denied

debian8有root权限,为什么不能将日期记录写入trarric日志中?

答案1

因为sudo命令在命令结束的地方结束。

使用隐含的括号,这就是您正在做的事情(让我补充一下,您正在以一种特别复杂的方式做这件事,但除此之外)

(sudo echo -n) ( date "+%Y-%m-%d %H:%M:%S") >> $trafficlog

正如您所看到的,您echo以 root 身份执行该命令,但重定向发生在 debian8 上。

什么工作将是

回声-n date "+%Y-%m-%d %H:%M:%S"| sudo tee --附加 $trafficlog

相关内容