如何在启动时以特定用户身份运行应用程序?

Nat*_*man 21 startup

有没有办法在某个用户帐户下启动时启动应用程序?

例如,我想a_small_app在用户帐户bob(在组中bobsgroup)下运行。我要添加一些东西/etc/init.d吗?

注意:我不希望应用程序在用户登录后启动而是在计算机启动时启动。

Oli*_*Oli 16

一种启动系统不可知的方法。您可以使用此在/etc/rc.local,一个/etc/init.d/...剧本,一个暴发户配置文件,并可能是一个systemd的配置了。

sudo -u oli /full/path/to/application
Run Code Online (Sandbox Code Playgroud)

此命令将以 root 用户身份运行,sudo并将下拉到“oli”用户。显然,根据您的目的更改用户和命令。

我应该补充一点,至少有十几种方法可以做到这一点......但根据我的经验,它们在效果上基本相同。这是一个使用其setuid节的新贵示例:

start on (filesystem and stopped udevtrigger)
stop on runlevel [06]

setuid oli
respawn

exec /full/path/to/application
Run Code Online (Sandbox Code Playgroud)