如何在启动时以某个用户身份运行应用程序?
有没有办法在启动期间在某个用户帐户下启动应用程序?
例如,我想在用户帐户bob
(在bobsgroup
组中)下运行bobsgroup
。 我是否在/etc/init.d
添加了一些内容?
注意:我不希望应用程序在用户登录后启动,而是在计算机启动时启动。
启动系统不可知的方法。 您可以在/etc/rc.local
/etc/init.d/...
脚本,Upstart配置文件以及可能的systemd配置中使用它。
sudo -u oli /full/path/to/application
此命令将以root用户身份运行, sudo
将下拉到“oli”用户。 显然,为了您的目的更改用户和命令。
我应该补充一点,至少有十几种方法可以做到这一点……但根据我的经验,它们的效果基本相同。 这是一个使用其setuid
节的新贵示例:
start on (filesystem and stopped udevtrigger) stop on runlevel [06] setuid oli respawn exec /full/path/to/application
似乎第一个答案在Ubuntu 14.10中不起作用了。
我就是这样做的(把它放在/etc/rc.local中)
su - -c " "