安装代理需要满足一些特定用户帐户必备条件。

Windows 端点虚拟机用户帐户要求

  • 要安装代理,
    • 用户必须是管理员,或者
    • 属于管理员组的非管理员。

Linux 端点虚拟机用户帐户要求

对于 Linux 端点虚拟机,应有两个用户帐户用于 Telegraf 代理,例如安装用户和运行时用户。在代理安装期间提供的用户凭据用于安装用户。 arcuser 是运行时用户,需要一组代理组件运行所必需的特权。
  • /tmp 挂载点应使用 exec 挂载选项挂载。
  • 以下是用户安装代理所需的最低权限,应在 sudoers 文件中显示出来:
    例如,对于名为 telegrafinstall 的用户,可以在 /etc/sudoers 文件或文件夹 /etc/sudoers.d/ 中找到 sudoers 文件:
    Defaults:telegrafinstall !requiretty
    
    Cmnd_Alias ARC_INSTALL_USER_COMMANDS=/usr/bin/cp*,/bin/cp*,/usr/bin/mkdir*,/bin/mkdir*,/usr/bin/chmod*,/bin/chmod*,/opt/vmware/ucp/bootstrap/uaf-bootstrap.sh,/opt/vmware/ucp/ucp-minion/bin/ucp-minion.sh 
    
    telegrafinstall ALL=(ALL)NOPASSWD: ARC_INSTALL_USER_COMMANDS

运行时用户必备条件

可通过两种方式在 Linux 端点虚拟机中创建运行时用户:自动和手动。运行时用户具有标准名称和组,分别为 arcuserarcgroup。如果选中在 Linux 虚拟机上创建具有在代理安装过程中所需权限的运行时用户复选框,则会自动创建 arcuserarcgroup。此复选框在默认情况下已选中。如果选择手动创建 arcuserarcgroup,手动创建步骤如下:

创建 arcgrouparcuser,并将 arcgroup 关联为 arcuser 的主要组。
  1. arcgroup 必须是 arcuser 的主要组。

    可以使用以下命令创建 arcgrouparcuser

    groupadd arcgroup

    useradd arcuser -g arcgroup -M -s /bin/false

  2. 创建的 arcuser 必须没有主目录,并且无法访问登录 shell。

    例如,在添加 arcuserarcgroup 后,arcuser/etc/passwd 条目如下所示。

    arcuser:x:1001:1001::/home/arcuser:/bin/false

  3. arcuser 必须具有无密码的特定特权集(如下所述),且这些特权必须写入 /etc/sudoers 文件或文件夹 /etc/sudoers.d/ 中:
    Defaults:arcuser !requiretty
    Cmnd_Alias VAPCOMMANDS=/usr/bin/systemctl * ucp-telegraf.service, !/usr/bin/systemctl * * ucp-telegraf.service, /bin/systemctl * ucp-telegraf.service, !/bin/systemctl * * ucp-telegraf.service, /usr/bin/systemctl * ucp-minion.service, !/usr/bin/systemctl * * ucp-minion.service, /bin/systemctl * ucp-minion.service, !/bin/systemctl * * ucp-minion.service, /usr/bin/systemctl * salt-minion.service, !/usr/bin/systemctl * * salt-minion.service, /bin/systemctl * salt-minion.service, !/bin/systemctl * * salt-minion.service, /usr/bin/systemctl * ucp-salt-minion.service, !/usr/bin/systemctl * * ucp-salt-minion.service, /bin/systemctl * ucp-salt-minion.service, !/bin/systemctl * * ucp-salt-minion.service, /usr/bin/netstat, /bin/netstat, /opt/vmware/ucp/tmp/telegraf_post_install_linux.sh, /opt/vmware/ucp/bootstrap/uaf-bootstrap.sh, /opt/vmware/ucp/content/runscript.sh, /opt/vmware/ucp/ucp-minion/bin/ucp-minion.sh, /usr/bin/systemd-run, /bin/systemd-run
    arcuser ALL=(ALL) NOPASSWD: VAPCOMMANDS