Use su para mudar para um usuário local (com confiança mútua), sem uma senha?

3

Estou curioso para saber se existe uma maneira de permitir que um usuário faça o login (via su) em outro usuário, sem precisar saber a senha desse usuário. Por exemplo, se eu estiver logado como user1, eu gostaria de dar permissão ao user2 para entrar em mim, mas por qualquer motivo é inviável para ele saber a senha. Vamos dizer que a razão é porque eu uso uma string aleatória de 20 letras maiúsculas / minúsculas / números. Para esclarecimento, eu não quero apenas acessar os arquivos dos usuários, eu quero estar totalmente logado como esse usuário.

Via ssh, isso é fácil, eu pego sua chave pública, coloco em .ssh /

Se o user1 for root, é fácil, apenas dou acesso ao NOPASSWD em sudoers.

Talvez a solução seja: use o ssh para fazer isso. Mas isso é deselegante, não é? E parece muito deselegante se isso só é possível para o root, mas ninguém menos importante que o root.

Pontos extras: Isso pode ser configurado sem que o root seja o único a configurá-lo? Mais uma vez, a solução ssh resolve esse problema, mas de forma deselegante.

    
por wdahab 05.03.2012 / 04:04

1 resposta

1

Como a configuração de uma chave pública ssh é "deselegante"? Eu diria que essa é a maneira correta de fazer isso e não requer acesso root; basta anexar a chave pública do user2 a ~user1/.ssh/authorized_keys . Se o usuário2 estiver conectado ao sistema, ele pode digitar ssh user1@localhost sem sobrecarga de rede significativa.

Você também pode configurar /etc/sudoers para que o usuário2 possa executar sudo su user1 e / ou sudo su - user1 sem inserir uma senha. (Isso não recebe os pontos extras, pois requer acesso root para configurar /etc/sudoers .)

    
por 05.03.2012 / 05:56