Práctica Nº4.-Sistemas RAID. ACLs y Cuotas. Delegación de Privilegios con Sudo
4.7.- Delegación de Privilegios a Usuarios del Sistema: SUDO Para terminar con la presente práctica, aprenderemos a delegar privilegios de administración (root) a usuarios del sistema diferentes del root. En concreto, haremos uso del paquete software sudo, el cual nos permite delegar privilegios y ejecutar comandos del sistema en nombre del usuario root, o de cualquier otro. ¡¡Importante!! Dependiendo de la distribución GNU/Linux con la que estemos trabajando podremos encontrarnos el paquete sudo preinstalado y preconfigurado (p.e. Ubuntu), o no (p.e. Debian). En caso de no disponer de sudo habrá que instalarlo previamente para poder llevar a cabo la práctica: [root@linux]# apt-get install sudo Por ejemplo, si tuviéramos instalado en nuestra máquina el software servidor apache, deberíamos tener una cuenta de usuario llamada www-data a través de la cual apache interactúa con el sistema. Si quisiéramos crear un directorio en nombre de dicho usuario, tendríamos la opción de suplantarlo mediante el comando "su www-data" (debe tener una shell válida) y después crear el directorio, o directamente hacer uso de sudo en el caso que se haya configurado correctamente para ello: [usuario@linux]$ sudo -u www-data mkdir directorio1 [root@linux]# sudo -u www-data mkdir directorio1 Otro ejemplo ilustrativo sería conceder privilegios en nombre del root a un usuario cualquiera del sistema pudiera instalar un programa en el sistema. Como puede advertirse a continuación, en el caso de que el usuario en nombre de quien ejecutamos el comando sea el root, puede omitirse (-u root) al ser este el usuario por defecto: [usuario@linux]$ sudo -u root apt-get install openshot [usuario@linux]$ sudo apt-get install openshot ¡¡Advertencia!! Al ejecutar un programa mediante sudo, éste nos solicitará nuestra password con la finalidad de corroborar que el usuario que lo esta ejecutando es el usuario al que se le concedieron los privilegios. Es decir, al solicitar sudo la password al usuario esta evitando que otro usuario pueda ejecutar comandos indebidamente (p.e. si nos dejáramos una sesión abierta, otro usuario podría ejecutar comandos privilegiados en nuestro nombre). En el caso de que la introducción de esta password nos resulte muy tedioso, o queramos ejecutar un comando del sistema a través del sudo de manera desatendida (sin estar presentes para poder introducir la password), podremos evitar su solicitud incluyendo la directiva NOPASSWD: en el archivo de configuración del sudo, tal como se explicará más adelante. 4.7.1.- Configuración de Sudo: /etc/sudoers. Con la finalidad de gestionar los privilegios a conceder será necesario que el usuario Seguridad Informática y Alta Disponibilidad – amartinromero@gmail.com 204