sudo
puede hacer eso por ti :)
Sin embargo, necesita un poco de configuración, pero una vez hecho sólo se haría esto:
sudo -u user2 -s
Y se conectaría como usuario2 sin introducir la contraseña.
Configuración
Para configurar sudo, debe editar su archivo de configuración a través de: visudo
. Nota: este comando abrirá la configuración utilizando el vi
editor de texto, si no te sientes cómodo con eso, tienes que poner otro editor (usando export EDITOR=<command>
) antes de ejecutar la siguiente línea. Otro editor de línea de comandos que a veces se considera más fácil es nano
, por lo que harías export EDITOR=/usr/bin/nano
. Normalmente se necesita el privilegio de superusuario para visudo
:
sudo visudo
Este archivo está estructurado en diferentes secciones, los alias, luego los valores por defecto y finalmente al final tienes las reglas. Aquí es donde tienes que añadir la nueva línea. Así que navega al final del archivo y añade esto:
user1 ALL=(user2) NOPASSWD: /bin/bash
También puede sustituir /bin/bash
por ALL
y entonces podrías lanzar cualquier comando como usuario2 sin contraseña: sudo -u user2 <command>
.
Si quieres poder cambiar a cualquier usuario sólo tienes que utilizar
user1 ALL=(ALL) NOPASSWD: /bin/bash
Actualización
Acabo de ver tu comentario sobre Skype. Podrías considerar añadir Skype directamente al archivo de configuración de sudo. Supongo que tienes Skype instalado en tu Aplicaciones carpeta:
user1 ALL=(user2) NOPASSWD: /Applications/Skype.app/Contents/MacOS/Skype
Entonces llamarías desde la terminal:
sudo -u user2 /Applications/Skype.app/Contents/MacOS/Skype
0 votos
Pide la contraseña al otro usuario. Al menos el otro usuario sabe lo que se ha hecho con su id.
1 votos
Esto no tiene nada que ver con otro usuario físico. Ambas identificaciones son mías. Conozco la contraseña ya que yo creé la cuenta. Simplemente no quiero tener que escribir la contraseña cada vez.
0 votos
¿Estaría bien hacer ssh a un usuario o necesita heredar un shell en particular y necesita su para funcionar?
0 votos
@bmike Quiero hacer esto porque quiero ejecutar dos copias de skype según las instrucciones aquí; apple.stackexchange.com/questions/903/ - Esto funciona bien pero me gustaría automatizarlo más usando un script que se convierta automáticamente en otro usuario y ejecute skype.
1 votos
@zio Gran caso de uso. Hace
open -na Skype
¿no te funciona?0 votos
@bmike provoca un conflicto y errores con "Tienes otra copia de skype en ejecución". Usando una cuenta de usuario diferente para la segunda copia permite que se ejecute. (Ver enlace anterior para más información)
1 votos
También puedes probar copiar el paquete de aplicaciones y cambiar CFBundleIdentifier .