0

在我们的产品中,我们使用 daemontools 创建了服务。我的一项服务看起来像这样,

/service/test/run
/service/test/log/run (has multilog command to log into ./main dir)
/service/test/log/main/..

所有进程及其目录都归 root 用户所有。现在有一个安全要求要改成这样,

  1. 服务应以非 root 用户运行。
  2. 日志主目录应该只对用户和组可读。

为此,我必须更改“日志”目录下的“运行”文件。我还需要更改它下面的“主”目录的权限。

请注意,“/service”下的所有这些文件都归 test-1.0-0.rpm 所有。当我更新我的 rpm 时,它会覆盖现有的运行文件并出现这样的错误,

multilog: fatal: unable to lock directory ./main: access denied

我知道我们不应该在运行时覆盖“运行”文件。我计划在我的 rpm 脚本 %post 部分中执行这些步骤,

//Stop service
svc -d /service/test/log

//Moving the main directory
mv /service/test/log/main /service/test/log/main_old

//Updated run file has code to create main with limited permissions.

//Start service
svc -u /service/test/log

在一些文章中,他们建议在“log/main”下重新创建“lock”文件。在不移动“主”目录的情况下,还有其他更清洁的方法吗?如果没有,执行上述步骤是否安全?

4

0 回答 0