我正在使用Monit来确保我的一个应用程序始终在运行。 Monit以root身份运行,但我的目标是以“myuser”而不是root身份运行应用程序。所以我使用以下配置:
check process myprocess with pidfile "/home/myuser/monitoring/myprocess.pid"
start program = "/home/myuser/scripts/myprocess.sh start"
as uid 1000 and gid 1000
stop program = "/home/myuser/scripts/myprocess.sh stop"
as uid 1000 and gid 1000
现在当我以myuser身份登录时,导航到"/home/myuser/scripts"
并运行./myprocess.sh start,应用程序启动时没有任何问题。
但是,当我让monit执行此操作时,程序无法启动,日志显示permission denied
for sh文件中的mkdir
函数。
因为我指定了uid和gid 1000(我从shell命令id
获得),所以不应该像我从shell那样运行它吗?我的配置中是否遗漏了任何内容?