以非 root 用户身份运行进程时的最佳安全做法

以非 root 用户身份运行进程时的最佳安全做法

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

答案1

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

我用logrotate它来定期轮换日志。它可以在轮换日志时处理权限。

答案2

使用user=中的指令supervisord.conf,以便 Supervisord 以 root 身份启动,执行任何必要的文件打开,然后放弃权限。

答案3

如果还没有,您可以专门创建一个用户来运行supervisord,并使用ACL授予该用户在/var/log中的写权限。

setfacl -m u:$USER:rwx /var/log

您还可以执行诸如让您的supervisord用户成为sys成员之类的操作。(我想,我附近没有Linux机器来验证/var/log组是否具有写权限。)

相关内容