Executar um executável como usuário diferente no linux sem saber a senha

3

Existe um executável que normalmente é executado pelo usuário A e escritores em um diretório somente legível, gravável, etc. pelo usuário A. É possível permitir que o usuário B no mesmo grupo execute o executável como usuário A para que ele grave nos mesmos diretórios, etc, sem usuário B sabendo a senha do usuário A e sem ter acesso ao root (ou seja, não pode usar visudo)?

    
por pythonic metaphor 14.01.2013 / 01:24

2 respostas

7

Sim, isso pode ser feito usando chmod u+s para definir o executável para ser executado com o ID efetivo do proprietário do executável. Mais aqui e aqui .

    
por 14.01.2013 / 01:39
1

Configurar sudo para permitir que B execute um comando em particular como A seria provavelmente a melhor e mais segura abordagem, mas você disse que não pode usar visudo .

Supondo que seu sistema tenha um servidor ssh funcional, você pode adicionar a chave pública de B a /home/A/.ssh/authorized_keys . B poderia então executar:

ssh A@localhost some_command

sem ter que saber a senha de A.

O problema é que isso dá a B acesso total à conta de A. Não é tão ruim quanto dar a senha de B A.

Pode haver maneiras de configurar o ssh para permitir que B execute apenas certos comandos, mas eu não sei o que eles são.

( chmod u+s , como sugestão de Nicole sugere, provavelmente é mais limpa; eu deveria ter pensado nisso.)

    
por 14.01.2013 / 01:39