普通用户使用systemd

2023-08-16 19:29:03 浏览数 (2)

要让 CentOS 8 的普通用户(非 root 用户)使用 systemd 进行管理,您需要做以下几个配置:

1. 创建一个新的普通用户或使用现有用户

如果您还没有普通用户,请使用以下命令创建一个:

代码语言:javascript复制
sudo useradd -m new_user
sudo passwd new_user

将“new_user”替换为您喜欢的用户名。然后,为该用户设置一个密码。

2. 为普通用户启用 `lingering` 功能

systemd 提供了一个名为 `lingering` 的功能,允许普通用户在登录会话结束后继续运行他们的服务。要启用 `lingering` 功能,请使用以下命令:

代码语言:javascript复制
sudo loginctl enable-linger new_user

将“new_user”替换为您的普通用户名。

3. 创建 systemd 用户服务单元文件

普通用户需要一个 systemd 服务单元文件来启动和管理他们的服务。在您的普通用户目录下创建一个新文件,如 `~/.config/systemd/user/my_service.service`,并使用文本编辑器填入以下内容:

代码语言:javascript复制
[Unit]
Description=My Service
[Service]
ExecStart=/path/to/your/command
Restart=on-failure
[Install]
WantedBy=default.target

请根据您的服务需求自定义 `Description` 和 `ExecStart`。如果您希望服务在失败后自动重启,可以将 `Restart` 设置为 `on-failure`。

4. 以普通用户身份管理服务

现在,您可以使用 `systemctl` 命令以普通用户身份启动、停止、重启和查询服务状态。请确保在命令中使用 `--user` 标志。例如:

代码语言:javascript复制
systemctl --user start my_service.service
systemctl --user stop my_service.service
systemctl --user restart my_service.service
systemctl --user status my_service.service

5. 设置服务在启动时自动运行

要将服务设置为在系统启动时自动运行,请使用以下命令:

代码语言:javascript复制
systemctl --user enable my_service.service

现在,您已经为 CentOS 8 的普通用户配置了 systemd。

0 人点赞