gpt4 book ai didi

linux - 来自非 root 用户的单位(用于命令启动/停止/启用/禁用)

转载 作者:IT王子 更新时间:2023-10-29 01:23:08 28 4
gpt4 key购买 nike

我想在启动时通过 systemd(操作系统是 Fedora Core 16)从一些非根用户(例如 michael)执行我的脚本。

我不需要 root 权限 - 我只想在启动时和关机时运行 systemd 中的一些单元。我不想为此启用 root 用户。我只想使用单元的 systemd 语法的强大功能来启动和监视我的进程(当然没有 root 访问权限)。可能吗?

我没有在文档中找到任何帮助。我只在 systemd(1) -> DIRECTORIES -> "User unit directories" 中找到:

$ pkg-config systemd --variable=systemduserunitdir
/usr/lib/systemd/user

但是 /usr/lib/systemd/user 是:

drwxr-xr-x. 2 root root

我无法想象如何以非 root 用户身份使用此目录...

最佳答案

This Arch Linux document may help.

systemd offers users the ability to run an instance of systemd to manage their session and services. This allows users to start, stop, enable, and disable units found within certain directories when systemd is run by the user. This is convenient for daemons and other services that are commonly run as a user other than root or a special user, such as mpd.

他们建议通过 xinit 启动系统 --user 实例,但我想无论用户是否登录,您都想启动用户服务。

我通常会通过在我的 crontab 中添加 @reboot 行来做到这一点。

From Wikipedia :

@reboot can be useful if there is a need to start up a server or daemon under a particular user, and the user does not have access to configure init to start the program.

也许你可以通过@reboot启动systemd --user!!!

关于linux - 来自非 root 用户的单位(用于命令启动/停止/启用/禁用),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10206246/

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