我有一个正常工作的 Debian 服务器。所有已被授予sudo
权限的现有用户都可以sudo
毫无问题地使用。但是,用户名中带有点的新用户在尝试sudo
.
我没有看到该用户遗漏的任何步骤。这是我的步骤:
在用户名中创建一个带有点的特权用户。我使用这个小脚本来添加开发人员用户帐户。
#!/bin/bash
uu=$1
useradd -m -G sudo,webdev -s /bin/bash $uu
passwd $uu
cd /home/$uu/
mkdir .ssh/
touch .ssh/authorized_keys
chmod 600 .ssh/authorized_keys
chmod 700 .ssh/
chown -R $uu:$uu .ssh/
ls -la .ssh/
cat $uu.pub > /home/$uu/.ssh/authorized_keys
echo "finished"
检查用户是否在 sudo 组中:
getent group sudo
这已经存在于/etc/sudoers
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
接下来我制作了 /etc/sudoers.d/user.name (并将权限设置为 640):
nano /etc/sudoers.d/user.name
user.name ALL=(ALL) NOPASSWD: ALL
要进行测试,请使用用户帐户登录并尝试sudo
. 我收到上述错误。
我能够解决此问题的一种方法是将此用户添加到具有 sudo 权限的不同组中。
要么我遗漏了某些东西,要么用户名中的点导致了其他用户名没有遇到的问题。
muru在评论中给出了解决方案。
正如 roaima 在另一条评论中指出的那样:
这正是问题所在。我验证的解决方案只是: