por que um usuário sem privilégios raiz ainda pode sudo -u como ele mesmo?

0

Eu estava escrevendo um script simples que precisava ser executado como 'usuário'. Eu corro metade do tempo como eu e metade do tempo quando su como usuário, então para economizar tempo eu escrevi como

sudo -u user ./doStuff

mas isso não funciona corretamente porque quando eu estou logado como usuário este comando falha porque eu não tenho permissões sudo para fazer ... tudo que eu já pude fazer.

A minha pergunta é: existe uma razão para não omitir todos os utilizadores como tendo permissão para serem sudos como eles próprios? para facilidade de scripts como esse? Existe algum tipo de segurança que eu estou perdendo que seria criado por isso, ou é apenas algo que ninguém se incomodou em implementar?

segundo, mais por curiosidade do que uma necessidade real, como alguém poderia modificar o arquivo /etc/sudoers para fazer com que cada usuário pudesse, por padrão, sudo -u como eles mesmos? Eu sei que o meu script original poderia ter sido escrito usando um cheque que o usuário é, mas eu vou escrever muitos scripts como esse por conveniência durante o teste e eu quero cortar as etapas extras que eu poderia esquecer de adicionar em algum script futuro.

    
por dsollen 03.07.2013 / 20:26

1 resposta

1

Usando sudo para fazer login, pois o usuário atual é deselegante para dizer o mínimo. Uma maneira melhor seria simplesmente testar se você está logado como user em seu script e agir de acordo. Por exemplo, se este for um script bash, faça

if [[ $USER != "user" ]]; then
   su user;
fi

De qualquer forma, se você realmente quiser fazer isso, use su :

$ whoami
terdon
$ su terdon
Password: 
$ whoami
terdon
    
por 03.07.2013 / 21:26