Eu tenho sudo
de acesso a uma das nossas máquinas de teste e os seguintes são os comandos restritos para mim:
user_sree@sel8585:~> sudo -l
user_sree's password:
User user_sree may run the following commands on this host:
(ALL) ALL, (ALL) !/bin/sh, !/bin/bash, !/bin/ksh, (ALL) !/bin/su, (ALL) !/usr/bin/passwd, !/usr/sbin/useradd, !/usr/sbin/userdel, !/usr/sbin/usermod,
!/usr/sbin/visudo
O que diz que não posso executar visudo
ou /usr/sbin/visudo
. E eu confirmei isso:
user_sree@sel8585:~> sudo /usr/sbin/visudo
Sorry, user user_sree is not allowed to execute '/usr/sbin/visudo' as root on sel8585.
Agora, por curiosidade, criei um link simbólico para /usr/sbin/visudo
:
ln -s /usr/sbin/visudo myvi'
Eu tentei acessar o arquivo sudoers chamando este link e ele funciona bem.
user_sree@sel8585:~> sudo /home/user_sree/myvi
myvi: /etc/sudoers.tmp unchanged
Da mesma forma, consegui executar outros comandos restritos criando softlinks.
Se eu precisar configurar sudo
para outras pessoas, como posso impedir outras pessoas de fazer isso? Eu não quero restringir a criação de softlinks.
user_sree@sel8585:~> sudo -l | grep bash
(ALL) ALL, (ALL) !/bin/sh, !/bin/bash, !/bin/ksh, (ALL) !/bin/su, (ALL) !/usr/bin/passwd, !/usr/sbin/useradd, !/usr/sbin/userdel, !/usr/sbin/usermod,
Da mesma forma:
user_sree@sel8585:~> sudo sh -c 'ls'
Sorry, user user_sree is not allowed to execute '/usr/bin/sh -c ls' as root on sel8585.
Agora, com o link simbólico mybash
vinculado a /bin/bash
: (no meu sistema /usr/bin/sh
é um link para /bin/bash
)
user_sree@sel8585:~> sudo /home/user_sree/mybash -c 'ls'
bin mybash sudoers.back test.pp
user_sree@sel8585:~> ll my*
lrwxrwxrwx 1 user_sree users 9 Jul 16 14:10 mybash -> /bin/bash
lrwxrwxrwx 1 user_sree users 16 Jul 16 14:13 myvi -> /usr/sbin/visudo
P.S:
Cmnd_Alias NSHELLS = /bin/sh,/bin/bash,/bin/ksh
Cmnd_Alias NSU = /bin/su
Cmnd_Alias NCMDS = /usr/bin/passwd,/usr/sbin/useradd,/usr/sbin/userdel,/usr/sbin/usermod,/usr/sbin/visudo
user_sree ALL=(ALL) ALL, !NSHELLS, !NSU, !NCMDS
As informações acima são as entradas no arquivo /etc/sudoers
.