miércoles, 23 de septiembre de 2015

sudo – Ejecutar un comando como otro usuario

El comando sudo es como su en muchos aspectos, pero tiene algunas capacidades adicionales importantes. El administrador puede configurar sudo para permitir a los usuarios normales ejecutar comandos como un usuario diferente (normalmente el superusuario) de una forma muy controlada. En particular, un usuario estaría limitado a uno o más comandos específicos y no a otros. Otra diferencia importante es que el uso de sudo no requiere la contraseña del superusuario. Para autenticarse usando sudo, el usuario utiliza su propia contraseña. Digamos, por ejemplo, que sudo ha sido configurado para permitirnos ejecutar una programa ficticio de copias de seguridad llamado “backup_script”, que requiere privilegios de superusuario. Con sudo podría hacerse así:

[me@linuxbox ~]$ sudo backup_script
Password:
System Backup Starting...

Después de introducir el comando, se nos pregunta por nuestra contraseña (no la del superusuario) y una vez que la autenticación está completada, el comando especificado se lleva a cabo. Una diferencia importante entre su y sudo es que sudo no abre una nueva shell, ni carga el entorno de otro usuario. Esto significa que los comandos no necesitan ser entrecomillados de forma diferente a la que lo estarían si lo ejecutáramos sin usar sudo. Ten en cuenta que este comportamiento puede ser anulado especificando varias opciones. Mira la man page de sudo para más detalles.

Para ver qué privilegios otorga sudo, usa la opción “-l” para listarlos:

[me@linuxbox ~]$ sudo -l
User me may run the following commands on this host:
    (ALL) ALL

No hay comentarios:

Publicar un comentario