由于 DBus 访问权限,无法访问 systemd --user

由于 DBus 访问权限,无法访问 systemd --user

我正在尝试使用 systemd 单元设置一个服务帐户来管理实际的服务+支持代码。但是,systemd 用户守护程序似乎无法正常工作。

$ systemctl --user
Failed to get D-Bus connection: Permission denied

编辑:通过确保我有一个交互式 shell(使用 su - 而不是 su 切换到服务帐户),我已经取得了一些进展。这很有帮助,但看起来我的 D-Bus 困境还没有结束:

$ systemctl --user
Failed to get D-Bus connection: No such file or directory

我正在尝试弄清楚我需要做什么来确保该用户确实具有 dbus 访问权限。将它们添加到 dbus 组并没有什么好处。

$ groups
printing lp rpc dbus users chrony ipausers

我正在运行 Fedora Core 23

答案1

如果我理解正确的话,您混淆了两个不同的概念:

  • 主systemd系统实例用于在任何系统用户下启动系统服务;
  • 用户特定的 systemd 实例是为希望运行会话服务的交互式用户提供的。

系统服务不会获取用户实例,因为它们由系统实例管理。就您而言,我认为您应该将您的单元编写为系统单元,并让它们直接由 systemd PID 1 管理。

相关内容