普通用户添加systemd的开机启动项

406次阅读

在centos系统中,systemd没有user mode,只有system mode,因此只有root才能执行systemctl enable。如果一个普通用户想把某个服务加入systemd的开机启动,往往需要需要给他sudo的权限。后来我发现可以通过添加target的方法,使得普通用户也能添加开机启动项。

比如需要让用户bar自行添加开机启动项,首先要为他添加一个target。

添加文件/etc/systemd/system/bar.target

[Unit]
Description=user bar target

[Install]
WantedBy=multi-user.target

并且enable这个target。

然后创建文件夹/etc/systemd/system/bar.target.wants,并且将文件夹的owner给bar。

这样bar用户在/etc/systemd/system/bar.target.wants文件夹中添加的service,将在开机后自动启动。

bar用户创建的service文件

bar用户创建的service被bar target加载启动

正文完