2

我正在开发一个简单的 Linux 网络守护程序,它以rootchroot()数据文件目录和删除root权限的形式运行。我喜欢“约定优于配置”的方法,即使我的软件有一个配置来设置它将使用哪个用户和组,我也想使用一个合理的默认值。

我应该使用哪个默认值?用户nobody和组nogroup? 用户daemon和组daemon? 其他?

4

1 回答 1

0

我建议您创建一个以您的服务命名的新用户。

通过这种方式,您可以对其权限进行严格控制,并对您的服务管理的文件进行更严格的控制。

像这样的东西(比如你的守护进程叫做antoniod):

useradd -s /sbin/nologin antoniod

然后您可以适当地 chown/chmod 您的文件(假设您的二进制文件在 /opt/antoniod 中,数据在 /var/antoniod-data 中):

  chown -R antoniod:antoniod /opt/antoniod/
  chown -R antoniod:antoniod /var/antoniod-data/
  chmod -R 0550 /opt/antoniod/
  chmod -R 0770 /var/antoniod-data/

如果您需要有关启动脚本本身的建议,请查看特定于发行版的支持,例如daemon函数 (RedHat) 或stop-start-daemon(Debian)

高温高压

于 2011-08-16T23:35:52.457 回答