我有一个执行一些日志记录任务的新贵脚本。脚本 testjob.conf 如下所示:
description "Start Logging"
start on runlevel [2345]
script
sudo -u user_name echo Test Job ran at `date` >> /home/user_name/Desktop/jobs.log
end script
然后,我使用sudo service testjob start
运行脚本,并且得到testjob stop/waiting
作为结果。创建文件job.log并完成日志记录。但是该文件归root拥有。我想更改此设置,因此在this similar post中提到的命令的前面添加了sudo -u user_name
部分。
但是,这似乎并不能解决问题。还有另一种方法吗?
答案 0 :(得分:0)
该日志文件是由>>
间接创建的,该间接运行在也启动sudo
的根shell的上下文中。
尝试使sudo
开始的过程创建文件,例如:
sudo -u user_name sh -c 'echo Test Job ran at `date` >> /home/user_name/Desktop/jobs.log'
在这种情况下,以sh
运行的user_name
将“执行” >>
间接访问。