在我的 RHEL 服务器上,服务默认会在启动时以 root
身份运行。如果我没记错的话,其他使用 /etc/init.d
初始化脚本的 Linux 发行版也是这样。
你认为最好的方法是什么,可以让进程以我选择的(静态)用户身份运行?
我想到的唯一方法就是使用类似以下的内容:
su my_user -c 'daemon my_cmd &>/dev/null &'
但这看起来有些杂乱无序...
是否有一些神奇的方法,可以提供一个简单的机制,以其他非root用户的身份自动启动服务?
编辑:我应该说,在这种情况下我要启动的进程是Python脚本或Java程序。我不想编写本地包装器,所以很遗憾,我不能像Black建议的那样调用setuid()。