sudo
pode fazer exatamente isso por você :)
Porém, ele precisa de um pouco de configuração, mas uma vez feito, você faria apenas isso:
sudo -u user2 -s
E você estaria logado como usuário2 sem inserir uma senha.
Configuração
Para sudo configure, você deve editar seu arquivo de configuração via: visudo
. Nota: este comando abrirá a configuração usando o vi
editor de texto; se você não se sentir confortável com isso, precisará definir outro editor (usando export EDITOR=<command>
) antes de executar a linha a seguir. Outro editor de linha de comando, às vezes considerado mais fácil nano
, é o que você faria export EDITOR=/usr/bin/nano
. Você geralmente precisa de privilégios de superusuário para visudo
:
sudo visudo
Este arquivo está estruturado em uma seção diferente, os aliases, depois os padrões e, finalmente, no final, você tem as regras. É aqui que você precisa adicionar a nova linha. Então você navega no final do arquivo e adiciona isto:
user1 ALL=(user2) NOPASSWD: /bin/bash
Você pode substituir também /bin/bash
por ALL
e, em seguida, você poderia lançar qualquer comando como user2 sem uma senha: sudo -u user2 <command>
.
Se você quiser mudar para qualquer usuário, basta usar
user1 ALL=(ALL) NOPASSWD: /bin/bash
Atualizar
Acabei de ver seu comentário sobre o Skype. Você pode considerar adicionar o Skype diretamente ao arquivo de configuração do sudo. Suponho que você tenha o Skype instalado na sua pasta Aplicativos :
user1 ALL=(user2) NOPASSWD: /Applications/Skype.app/Contents/MacOS/Skype
Então você ligaria do terminal:
sudo -u user2 /Applications/Skype.app/Contents/MacOS/Skype