两个setuid程序/usr/bin/bar
和/usr/bin/baz
共享一个配置文件foo
。配置文件的模式为0640
,因为它包含敏感信息。一个程序的运行方式为bar:bar
(即,作为用户栏,组栏);另一个为baz:baz
。更改用户不是一种选择,即使更改组也不可取。
我希望将单个配置文件与/etc/bar/foo
和硬链接/etc/baz/foo
。但是,这失败了,因为据我所知该文件必须属于root:bar
或root:baz
。
可能的解决方案:创建一个barbaz
成员为bar
和的新组baz
。让foo
属于root:barbaz
。
对我来说,这似乎是一个繁重的解决方案。是否没有更整洁,更简单的方法foo
在两个程序之间共享配置文件?
目前,我正在维护文件的两个相同副本。这有效,但是显然是错误的。什么是对的?
有关信息:我对Unix组几乎没有经验,对setgid(2)也没有经验。
ssl-cert
小组,这几乎就是您的barbaz
小组。标准是将所有私钥设置为该ssl-cert
组拥有,并将与需要访问它们的程序相关联的UID放入该组中。
ssl-cert
,该软件包的postinst脚本在安装时会创建您要说的群组。我一直不知道ssl-cert
。建议使用 Apache2(安装在我的主机上)ssl-cert
。各种进出口和Dovecot的包不这样做,但后缀(不安装我的主机上)依赖上ssl-cert
。由于使用Apache,我的主机上确实有一个ssl-cert组,但是该组还没有成员。谢谢你的建议。