在新贵脚本中更改用户
changing user in upstart script
我有一个 upstart 脚本可以执行一些日志记录任务。脚本 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
。创建文件 jobs.log 并完成日志记录。但是该文件归 root 所有。我想改变这一点,因此在 .
中提到的命令前面添加了 sudo -u user_name
部分
然而,这似乎并不能解决问题。还有其他方法吗?
日志文件由 >>
间接创建,该间接在根 shell 的上下文中运行,该根 shell 也启动 sudo
.
尝试让 sudo
开始创建文件的过程,例如:
sudo -u user_name sh -c 'echo Test Job ran at `date` >> /home/user_name/Desktop/jobs.log'
在这种情况下,sh
运行 作为 user_name
将 "execute" >>
间接寻址。
我有一个 upstart 脚本可以执行一些日志记录任务。脚本 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
。创建文件 jobs.log 并完成日志记录。但是该文件归 root 所有。我想改变这一点,因此在
sudo -u user_name
部分
然而,这似乎并不能解决问题。还有其他方法吗?
日志文件由 >>
间接创建,该间接在根 shell 的上下文中运行,该根 shell 也启动 sudo
.
尝试让 sudo
开始创建文件的过程,例如:
sudo -u user_name sh -c 'echo Test Job ran at `date` >> /home/user_name/Desktop/jobs.log'
在这种情况下,sh
运行 作为 user_name
将 "execute" >>
间接寻址。