我需要使用什么用户才能使用 systemctl enable 命令在 CentOS7 计算机上启用此服务?

我需要使用什么用户才能使用 systemctl enable 命令在 CentOS7 计算机上启用此服务?

我不是系统管理员(我是软件开发人员),这次我必须在一些 CentOS 机器上安装一些代理,以便被 Wazuh(一个 SIEM 软件)监控。我有以下疑问。通过 YUM 成功安装代理后,我需要启用与此 Wazuh 代理相关的服务。

然后我必须执行以下命令来启用 wazuh-agent 服务:

[adminuser@my-machine ~]$ systemctl enable wazuh-agent
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-unit-files ===
Authentication is required to manage system service or unit files.
Multiple identities can be used for authentication:
 1.  Cloud User (centos)
 2.  adminuser
 3.  user2

问题是,执行它询问我想要启用此服务的用户的命令(需要用户身份验证)。

在这台机器上我定义了3个用户:

  • 森托斯:它是具有管理权限的用户,用于通过 SSH 首次访问该计算机,并从此处用于创建其他 2 个用户。
  • 管理用户:这是我的管理员用户(并且具有 SSH 访问权限)。它具有管理权限。
  • 用户2它是没有 SSH 访问权限的第二个管理员用户。它具有管理权限,但由在该计算机上工作且不参与此 Wazuh 代理活动的另一个人使用。

那么什么是最好的选择呢?我正在考虑使用我的个人管理员用户(adminuser),但我不确定这是最好的选择。

另一个疑问是:通过这个命令我启用了这个 wazuh-agent 服务。如果机器重新启动会发生什么?重启后该服务会自动启动还是需要手动启动?

答案1

当您systemctl以非root用户身份运行时,systemd使用PolicyKit来检查您是否可以提升权限。其他答案告诉您使用 sudo,这也是一个好主意,但 sudo 使用与 systemd 完全不同的配置来确定您是否可以提升权限。

CentOS 上的 PolicyKit 配置很可能/etc/polkit-1/rules.d/50-default.rules如下所示:

polkit.addAdminRule(function(action, subject) {
    return ["unix-group:wheel"];
});

这意味着应该能够执行管理功能的帐户是“wheel”组的成员。

答案2

无论哪个用户具有提升的权限都会产生相同的效果。你说的管理员就是这个意思吧?或者它们有什么不同?我的默认猜测是它们都是平等的。至于重新启动,enable 是负责重新启动的命令,意味着默认启动(而不是 just start,它启动一个服务彼时彼地)。

答案3

systemctl enable/disable/stop/run/etc命令通常需要 root 帐户或使用sudo.很难理解你的真正意思“帐户 X 具有管理权限”。在 Linux 中,root它几乎可以做所有事情,您可以授予用户访问权限sudo,允许他们运行某些命令,而root不允许他们做其他事情。

另一个疑问是:通过这个命令我启用了这个 wazuh-agent 服务。如果机器重新启动会发生什么?

systemctl enable将使服务在重新启动后自动启动。

https://helpdeskgeek.com/linux-tips/hdg-explains-what-is-sudo-root-on-linux/

答案4

Linux 中的许多系统命令都要求您具有 root 访问权限(通常通过使用 来实现sudo)。通常通过配置来控制谁有权执行特定任务sudo。这是 Linux 中长期存在的范例......

然而systemd( systemctl)使用 polkit允许非 root 用户执行特权命令。它将允许root做任何事情(我不确定这是硬编码还是只是通用配置)。但是,systemctl如果您不愿意,则无​​需以 root 身份调用。

当你看到一份用户列表时,你使用的应该没有太大区别。它会要求您输入所选用户的密码,因此主要区别在于您是否知道正确的密码。

如前所述,您仍然可以systemctl以 root 身份调用。如果您有 sudo 访问权限,您可能更喜欢使用:

sudo systemctl enable wazuh-agent

这只会询问您当前用户的密码。


如果机器重新启动会发生什么?

这实际上取决于服务自身的配置。 最常见的是的,这只会在重新启动时重新启动服务。而且看名字我觉得应该是这个。但请注意,这取决于具体服务。

相关内容