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