permitir sudo a otro usuario sin contraseña

42

Quiero poder "su" para 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 incita con

Password:

    
pregunta zio 17.02.2013 - 14:12

2 respuestas

61

sudo puede hacer eso por ti :)

Sin embargo, necesita un poco de configuración, pero una vez hecho, solo harías esto:

sudo -u user2 -s

Y se iniciará sesión como usuario2 sin ingresar una 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 usando el editor de texto vi , si no está 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 debería hacer export EDITOR=/usr/bin/nano . Por lo general, necesita privilegio de superusuario para visudo :

sudo visudo

Este archivo está estructurado en una sección diferente, los alias, luego los valores predeterminados y, finalmente, al final tienes las reglas. Aquí es donde necesitas 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 puede ejecutar cualquier comando como usuario2 sin una contraseña: sudo -u user2 <command> .

Si desea poder cambiar a cualquier usuario, simplemente utilice

user1    ALL=(ALL) NOPASSWD: /bin/bash

Actualizar

Acabo de ver tu comentario sobre Skype. Podría considerar agregar Skype directamente al archivo de configuración del sudo. Supongo que tienes Skype instalado en tu carpeta Aplicaciones :

user1    ALL=(user2) NOPASSWD: /Applications/Skype.app/Contents/MacOS/Skype

Luego llamarías desde la terminal:

sudo -u user2 /Applications/Skype.app/Contents/MacOS/Skype
    
respondido por el Huygens 18.02.2013 - 08:39
4

Configuraré claves ssh públicas / privadas para la segunda cuenta y almacenaré la clave en la primera cuenta.

Entonces podrías ejecutar un comando como:

 ssh user@localhost -n /Applications/Skype.app/Contents/MacOS/Skype &

Aún tendrías los problemas donde 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 tus necesidades y no necesitarías un iPod touch para ejecutar tu segunda instancia de Skype.

    
respondido por el bmike 18.02.2013 - 01:05

Lea otras preguntas en las etiquetas