Não preciso de um administrador para alterar minha senha root. Não quero que nenhum usuário sudo execute este comando:
sudo passwd $root
Eu tentei no arquivo sudoers usando o seguinte comando:
%sudo ALL=(ALL) ALL, !/usr/bin/passwd $root
Como posso bloqueá-lo?
Respostas:
De acordo com o manual do sudoers :
É por isso que sua política de sudoers não funciona.
Se você deseja impedir que o usuário obtenha permissão de root e altere sua senha, tente este procedimento:
Supondo que seus sudoers contenham esta diretiva:
Supondo que seu nome de usuário seja
foo
, seus grupos sãofoo
esudo
.groups
A saída do comando é:Remover usuário
foo
dosudo
grupo:gpasswd -d foo sudo
depois disso, o usuáriofoo
não pode executar nenhum comando com o sudo.Edite o arquivo sudoers. Use este comando:
Defina a
foo
permissão do usuário , por exemplo:Isto significa que o usuário
foo
pode executar qualquer comando no diretório/usr/bin/
, excetopasswd
esu
de comando. Nota: Se o usuáriofoo
quiser alterar sua senha, pode executar opasswd
comando semsudo
.Outro exemplo de
foo
permissão do usuário :Isso significa que o usuário
foo
pode executar qualquer comando no diretório/usr/bin/
e pode alterar a senha de qualquer pessoa, exceto a raiz em TODAS as máquinas.Você pode definir grupos de comandos, definindo
Cmnd_Aliases
e criando "níveis de permissões". Você pode encontrar exemplos úteis na seção EXEMPLO do manual do sudoers , e aqui está um link útil sobre como usar sudoers.fonte
foo ALL=/usr/bin/*, !/usr/bin/passwd
alguma idéia de por que esse é o caso?adicione o alias do comando via
visudo
:adicione restrições via
visudo
:adicione usuário ao grupo chamado nopasswdgroup:
fonte