Como posso limitar meu usuário a executar apenas comandos seletivos. Eu tenho um usuário tomc no grupo tomc. Eu preciso que esse usuário seja usuário sudo e depois tenha um bash restrito. Eu tentei seguir o código no /etc/sudoers
arquivo, mas não está funcionando, pois o usuário pode executar outros comandos mkdir
, comorm
%tomc ALL=/bin/bash,/usr/bin/vim /*
sudo bash
é equivalente, em muitos aspectos, a senha de root. A partir de umsudo bash
shell eles podem executar qualquer comando admin, instalar ou software de exclusão, os usuários e diretórios excluir, etc.Respostas:
Você pode estar indo para o lado errado. Em vez de dar a um usuário um shell bash 'restrito', você deve apenas dar a ele acesso aos comandos que eles precisariam para executar como root. Por exemplo, no seu arquivo sudoers:
Tenha cuidado ao permitir que os usuários executem o vim como root. O Vim possui muitos recursos integrados, como escapes para o shell e a capacidade de executar comandos no vim. Dependendo da sua distribuição, você pode estar
sudoedit
disponível. Isso funciona da mesma forma que um Vim normal, exceto que ele foi projetado para lidar com fugas de shell e coisas do tipo.fonte
vim
pode executar comandos arbitrários do shell. E a segunda linha provavelmente permitiráless /var/log/myapp/../../../etc/shadow
! De acordo com minhas experiências, usar o sudo com segurança é difícil ! Mas se você pode evitar se*
usar emsudoedit
vez devim
, pode estar bem.*
não é suficiente! Uma vezless
comoroot
usuário, tente digitar!tail /var/log/secure
. Como é isso? Estude aNOEXEC
etiqueta. Mas leve a mensagem de @ joeytwiddle ao coração: a segurança do sudo é realmente difícil.Na minha Synology Diskstation executando o DSM 6, somente usuários administrativos podem fazer ssh de maneira consistente (usuários não administrativos têm shell como / sbin / nologin em / etc / passwd - você pode configurá-lo como / bin / sh para permitir temporariamente ssh, mas na reinicialização o arquivo / etc / passwd é redefinido). Por esse motivo, é necessário algum tipo de restrição de sudo para uma conta que, de outra forma, existe apenas para executar, por exemplo, / sbin / poweroff. As seguintes linhas em / etc / sudoers funcionaram para mim:
Tradução: desautorize todos os comandos e permita apenas o comando desejado (sem pedir senha neste caso).
Com esta configuração, o sudo solicita a senha e depois falha em comandos que não sejam os da lista de permissões:
fonte