我使用 Ubuntu 22.04 创建了一台新服务器 (ubuntu-s-2vcpu-2gb-nyc1-01) 并添加了一个新用户 ( michael
)。然后我将用户添加到sudo
组中。当我检查组时,michael
我看到了正确的组。
root@ubuntu-s-2vcpu-2gb-nyc1-01:/srv/users/michael# groups michael
michael : michael sudo sp-sysusers
但每次我尝试运行 sudo 命令时都会收到相同的消息:
michael@ubuntu-s-2vcpu-2gb-nyc1-01:~$ sudo cd /
You must SSH in as root to run this command: sudo cd /
我检查/etc/passwd
以确保用户添加正确
michael:x:1000:1000::/srv/users/michael:/bin/bash
我检查过了/etc/sudoers
,一切看起来都正确
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
我已经重启机器好几次了。注销michael
并尝试过pkill -STOP -u michael
,但重启后仍然没有成功。我已经在这个问题上浪费了好几个小时。我错过了什么?
答案1
我修复了这个问题,但我仍然不确定它为什么会起作用。我使用 serverpilot.io 安装服务器框架并添加用户michael
。然后我用来sudo
更改michael
权限。它一直不起作用,直到我删除michael
并重新添加使用sudo
而不是 serverpilot.io。
我猜测它michael
被添加到了另一个组,而我忽略了它,这导致它没有真正的 sudo priv。
故事的寓意是,不要使用 serverpilot.io 来创建管理员级别的用户。