quarta-feira, 10 de fevereiro de 2010

sudoers + Como proibir usuário de executar alguns comandos?

Preciso dar permissão de administrador para o usuário "usradm" do grupo "admin", porém não quero que ele tenha o direito de mudar senhas com o comando "/usr/bin/passwd", logar como root com o comando "/bin/su" e alterar as configurações pelo "/usr/sbin/visudo".
Para fazer isso, precisamos editar o arquivo "/etc/sudoers" com o comando "visudo":

# visudo

Ir na seguinte linha:

.
.
.
%admin ALL=(ALL) ALL
.
.
.

E altera-la para:

.
.
.
%admin ALL=(ALL) ALL, !/usr/bin/passwd, !/usr/sbin/visudo, !/bin/su
.
.
.

A última palavra ALL indica que todos os comandos são permitidos aos usuários pertencentes ao grupo "admin". Porém, o ponto de exclamação "!" nega os comandos listados.
Ao logar com o usuário "usradm", faça um teste, as seguintes mensagens aparecerão:
...
usradm@srv1:~$ sudo su
Sorry, user usradm is not allowed to execute '/bin/su' as root on srv1.
usradm@srv1:~$ sudo visudo
Sorry, user usradm is not allowed to execute '/usr/sbin/visudo' as root on srv1.
usradm@srv1:~$ sudo passwd
Sorry, user usradm is not allowed to execute '/usr/bin/passwd' as root on srv1.
...

Um comentário:

Gner® disse...

Parabéns pelo blog. Boa iniciativa. Continue com as boas dicas!

Abraços.