对于具有一组特定权限的非 root 用户,在 Linux 终端上安装代理失败。

问题

如果未添加 tty 命令,代理安装将失败,并显示以下错误:
虚拟机 <虚拟机 ID> 的引导失败,并显示以下错误消息:{ "status":"FAILED", "data":[ { "status":"FAILED", "message":"Failed - install - passwordless sudo access is required for the user <Install Username> on the command mkdir.[sudo: sorry, you must have a tty to run sudo]", "stage":"0" } ], "currentstage":"0", "totalstages":"0" }

以下是用户安装代理所需的最低权限,应在 sudoers 文件中显示出来:

解决方案

  • 以下是用户安装代理所需的最低权限,应在 sudoers 文件中显示出来。例如,对于名为 telegrafinstall 的用户,可以在 /etc/sudoers 文件或文件夹 /etc/sudoers.d/: 中找到 sudoers 文件。将这些行添加到 /etc/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