Eu tenho um servidor Debian funcionando corretamente. Todos os usuários existentes que receberam sudo
direitos podem utilizar sudo
sem problemas. No entanto, um novo usuário com um nome de usuário com um ponto vê "O nome de usuário não está no arquivo sudoers. Este incidente será relatado" ao tentar sudo
.
Não vejo nenhuma etapa que foi perdida para este usuário. Aqui estão meus passos:
Crie um usuário privilegiado com um ponto no nome de usuário. Eu uso este pequeno script para adicionar contas de usuário de desenvolvedor.
#!/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"
Verifique se o usuário está no grupo sudo:
getent group sudo
Isso já existe em/etc/sudoers
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Em seguida, criei /etc/sudoers.d/user.name (e configurei as permissões para 640):
nano /etc/sudoers.d/user.name
user.name ALL=(ALL) NOPASSWD: ALL
Para testar, faça login com a conta de usuário e tente sudo
. Recebo o erro acima.
Uma maneira de resolver isso foi adicionando esse usuário a um grupo diferente que possui direitos sudo.
Ou estou faltando alguma coisa, ou o ponto no nome de usuário está causando um problema que não ocorre com os outros nomes de usuário.
A solução foi dada em um comentário de muru .
Como roaima apontou em outro comentário:
Essa era exatamente a questão. E a solução, que eu verifiquei, foi apenas: