Limita o usuário a executar comandos seletivos (Linux)

7

Como posso limitar meu usuário a executar somente comandos seletivos? Eu tenho um usuário tomc no grupo tomc. Eu preciso que esse usuário seja usuário sudo e depois tenha restrito bash. Eu tentei seguir o código no arquivo /etc/sudoers , mas não está funcionando como usuário é capaz de executar outros comandos como mkdir , rm

%tomc ALL=/bin/bash,/usr/bin/vim /*
    
por newbie17 11.06.2014 / 10:35

2 respostas

11

Você pode estar indo para o caminho errado. Em vez de dar ao usuário um shell bash 'restrito', você deve apenas dar acesso aos comandos que eles precisariam para executar como root. Por exemplo, no seu arquivo sudoers:

tomc ALL=(root) /usr/bin/vim /etc/myapp.conf
tomc ALL=(root) /usr/bin/less /var/log/myapp/*.log

Tenha cuidado ao permitir que os usuários executem o vim como root. O Vim tem muitos recursos embutidos, como escapes para shell e a habilidade de executar comandos dentro do vim. Dependendo da sua distribuição, você pode ter sudoedit disponível. Isso funciona da mesma forma que um Vim normal, exceto pelo fato de ser projetado para lidar com escapes de shell e tal.

    
por 11.06.2014 / 15:51
2

Na minha Synology Diskstation executando o DSM 6 apenas usuários admin podem ssh consistentemente (usuários não-administradores têm shell como / sbin / nologin em / etc / passwd - você pode configurar isto para / bin / sh para temporariamente permitir ssh, mas ao reiniciar o arquivo / etc / passwd é resetado. Por esta razão, algum tipo de restrição de sudo é necessário para uma conta que de outra forma existe apenas para executar, e. / sbin / poweroff. As seguintes linhas em / etc / sudoers funcionaram para mim:

# Allow guestx user to remote poweroff
guestx ALL=(ALL) !ALL
guestx ALL=NOPASSWD: /sbin/poweroff

Tradução: desautorize todos os comandos, depois permita somente o comando desejado (sem pedir senha neste caso).

Com essa configuração, o sudo solicita a senha e, em seguida, falha nos comandos que não sejam os da lista branca:

guestx@ds:~$ sudo su -
Password: 
Sorry, user guestx is not allowed to execute '/bin/su -' as root on ds.
guestx@ds:~$ 
    
por 05.06.2016 / 15:25

Tags