以非root用户身份运行进程时的安全性最佳实践

所以我试图运行Supervisor( http://supervisord.org/ )作为非root用户。 但是,该进程会将日志输出到由root拥有的/var/log目录,并拥有755个权限。 因此,以非root用户身份启动该进程将引发权限被拒绝错误。 解决这个问题的最佳做法是什么? 我有一个想法是recursion地将/var目录的组更改为正在启动监督进程的用户的组,并给予/var目录775权限。 从安全的angular度来看,这是可以接受的吗?

尝试创build日志文件并使用chown将所有权更改为适当的用户。 如果可能,请将日志位置更改为相应用户拥有的子目录。

我使用logrotate来定期轮转日志。 旋转日志时可以处理权限。

使用supervisord.confuser=指令,以便supervisord以root身份启动,执行任何必要的文件打开,然后删除权限。

如果你还没有,你可以创build一个专门用来运行supervisord的用户,并使用ACL为该用户写入/ var / log中的权限。

 setfacl -mu:$USER:rwx /var/log 

你也可以做一些事情,比如让你的supervisord用户成为sys成员。 (我想,我附近没有一个Linux机器来validation/ var / log组具有写权限。)