您必须以 root 身份登录 SSH 才能运行此命令:sudo

您必须以 root 身份登录 SSH 才能运行此命令:sudo

sudo每当以不同的用户身份输入时,我都会看到此信息ubuntu

您必须以 root 身份登录 SSH 才能运行此命令:sudo

以下是输出sudo -l -U myuser

Matching Defaults entries for serverpilot on ubuntu-xenial:
    env_reset, mail_badpass,
    secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User myuser may run the following commands on ubuntu-xenial:
    (ALL) NOPASSWD: ALL

我添加了myuser/etc/sudoers.d/90-cloud-init-userVagrant管理我的机器。

附言:在我发布此文之前,我仍然能够通过上述方式添加新的 sudo 用户,没有任何问题。(以前的 ubuntu 盒子版本)

答案1

Serverpilot 是出于未知原因故意这样做的。它实际上并没有阻止使用 sudo,你可以使用哪个 sudo 来验证

/usr/bin/sudo

如果你使用完整路径调用 sudo 它可以正常工作。例如

/usr/bin/sudo whoami

正在设置别名

/etc/profile.d/serverpilot-aliases.sh

if [[ "$HOME" == /srv/users/* ]]; then
   alias sudo='echo "You must SSH in as "root" to run this command: sudo"'
fi

你可以确认 alias

alias sudo='echo "You must SSH in as "root" to run this command: sudo"'

你可以暂时用以下方法修复它

unalias sudo

Serverpilot 需要出面解释他们的奇怪决定。您可以通过从列出的文件中删除该别名声明来永久修复。这样做可能会对 serverpilot 产生未知和意想不到的影响。他们这样做肯定是有原因的……

相关内容