El programa sudo (de las siglas en inglés de superuser -o substitute user– do) es una utilidad de los sistemas operativos tipo Unix, como Linux, BSD, o Mac OS X, que permite a los usuarios ejecutar programas con los privilegios de seguridad de otro usuario (normalmente el usuario root) de manera segura. Se instala por defecto en /usr/bin
.
Para instalar SUDO en FreeBSD lo haremos desde los puertos:
cd /usr/ports/security/sudo make install clean
Toda la configuración se encuentra en el fichero /usr/local/etc/sudoers.default que debemos mover a /usr/local/etc/sudoers para coger sus valores por defecto:
mv /usr/local/etc/sudoers.default /usr/local/etc/sudoers
Toda la información sobre este fichero la encontaréis en la ayuda man:
man sudoers
Conviene conocer lo más básico e importante:
# User privilege specification root ALL=(ALL) ALL
Esta es la sección de privilegios de usuarios, en la cual damos privilegios especiales a usuarios, por defecto root tiene todos los privilegios como es normal, podemos añadir a usuarios privilegios para determinados comandos, la sintaxis es la siguiente:
USER HOST= comandos
# Uncomment to allow people in group wheel to run all commands %wheel ALL=(ALL) ALL
Por defecto, todos los usuarios pertenecientes al grupo wheel podrán ejecutar con sudo cualquier comando, aquí podemos añadir más restricciones o permisos a otros grupos.
# Same thing without a password %wheel ALL=(ALL) NOPASSWD: ALL
Con lo anterior podemos especificar qué grupos podrán usar SUDO sin tener que especificar su clave (la del propio usuario, no la de root) de usuario cada vez que ejecuten una tarea o comando ROOT.
Recordad modificar el fichero con el comando visudo porque sino puede no funcionar correctamente.