Quiero poder 'su' a un usuario específico, permitiéndome ejecutar cualquier comando sin ingresar una contraseña.
Por ejemplo:
Si mi inicio de sesión fuera usuario1 y el usuario al que quiero 'su' es usuario2:
Yo usaría el comando:
su - user2
pero luego me pide
Password:
sudo
puede hacer eso por ti :)
Sin embargo, necesita un poco de configuración, pero una vez hecho esto, solo haría esto:
sudo -u user2 -s
Y usted iniciaría sesión como usuario2 sin ingresar una contraseña.
Para configurar sudo, debe editar su archivo de configuración a través de: visudo
. Nota: este comando abrirá la configuración usando el vi
editor de texto, si no se siente cómodo con eso, necesita configurar 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
. Por lo general, necesita privilegios de superusuario para visudo
:
sudo visudo
Este archivo está estructurado en diferentes secciones, los alias, luego los valores predeterminados y finalmente al final tienes las reglas. Aquí es donde debe agregar la nueva línea. Así que navega al final del archivo y agrega esto:
user1 ALL=(user2) NOPASSWD: /bin/bash
También puede reemplazar /bin/bash
por ALL
y luego podría ejecutar cualquier comando como usuario2 sin una contraseña: sudo -u user2 <command>
.
Si desea poder cambiar a cualquier usuario, simplemente use
user1 ALL=(ALL) NOPASSWD: /bin/bash
Acabo de ver tu comentario sobre Skype. Podría considerar agregar Skype directamente al archivo de configuración de sudo. Supongo que tienes Skype instalado en tu carpeta de Aplicaciones :
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
su - user2
en lugar de su user2
, todos los comandos probablemente deberían incluir sudo -u user2 -i
, para simular un inicio de sesión inicial como usuario2Configuraría claves ssh públicas/privadas para la segunda cuenta y almacenaría la clave en la primera cuenta.
Entonces podría ejecutar un comando como:
ssh user@localhost -n /Applications/Skype.app/Contents/MacOS/Skype &
Todavía tendría los problemas en los que Skype se confunde, ya que dos instancias se ejecutan en una cuenta de usuario y los archivos leídos/escritos por ese programa pueden entrar en conflicto. También podría funcionar lo suficientemente bien para sus necesidades y no necesitaría un iPod touch para ejecutar su segunda instancia de Skype.
expect
para escribir la interacción. Solo uso sudo su - blah
y escribo mi contraseña. Creo que la otra respuesta cubre sudo lo suficientemente bien como para mantener esto como un comentario.sudo -u user2 <...>
) tiene la ventaja de que no se puede usar de forma remota, lo que podría ayudar a la seguridad: no hay una clave privada para el usuario 1 que se pueda robar.
Nómada mundial
zio
bmike
zio
bmike
open -na Skype
No te funciona?zio
Lrí