gpt4 book ai didi

linux - 我在 Linux 上的简单守护程序应该在哪个系统用户上默认运行以获得最佳兼容性?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:12:05 25 4
gpt4 key购买 nike

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

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

最佳答案

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

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

像这样的东西(假设你的守护进程叫做 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)

HTH

关于linux - 我在 Linux 上的简单守护程序应该在哪个系统用户上默认运行以获得最佳兼容性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7086083/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com