Está en la página 1de 2

SERVICIO SUDO

Sudo ("Superuser do") permite que un usuario normal pueda ejecutar programas, que
slo root puede hacer, sin cambiar permisos de ejecucin.
Se puede configurar para indicar a qu host se le permite ejecutar un comando sin
hacer login. Tambin se puede especificar bajo qu usuario se ejecutar un comando.
De igual forma, hay que dar la ruta completa a los binarios, lo que evita problemas de
path incorrectos.
Como ejemplo de lo que sudo puede evitar, podramos mencionar: si se le d acceso,
mediante permisos, para ejecutar "adduser", a un usuario, no hay nada que le impida
editar su path y copiar bash a /tmp/adduser obteniendo el control de la mquina.
Sudo est disponible para la mayora de las distribuciones, como paquete interno, o
paquete contribuido. Linux lo incorpora en la instalacin. Si no es as sudo est
disponible en: http://www.courtesan.com/sudo/
Sudo permite definir grupos de hosts, grupos de comandos, y grupos de usuarios,
haciendo la administracin ms sencilla, a largo plazo.
CONFIGURACION
Lo primero es instalar el paquete comprobar si est instalado. Se hace con yast,
apartado software, instalar software y buscando el paquete sudo.
Si est instalado y el administrador del sistema nos proporciona la clave, se puede
probar el funcionamiento de la siguiente forma como usuario normal: sudo comando.
Aunque de esta forma es posible su uso, lo mejor es configurarlo a travs del archivo
correspondiente. Para ello se entra como root y desde lnea de comando, se
ejecuta el comando: visudo . Se edita el archivo de configuracin de sudo
/etc/sudoers con el editor vi .
A continuacin hay que introducir una lnea como la siguiente:
Miusuario Mimaquina = (root) NOPASSWD: /path/to/miejecutable
De donde Miusuario es el nombre del usuario que queremos autorizar a
ejecutar el comando. MiMaquina es el nombre de la mquina remota,
tambin es posible usar ALL para que el usuario est autorizado a usar
el comando, desde cualquier host desde el que se conecte.
Ejemplo:
pablo ALL=(root) NOPASSWD: /sbin/reboot, /sbin/halt
Aqu el usuario pablo podr reiniciar y parar el sistema como root.
A continuacin Grabar y salir.
Este usuario queda registrado en /etc/sudoers y puede llamar a reboot de la
siguiente forma:
sudo /sbin/reboot
Si se le quiere dar acceso total a un usuario en este archivo escribiremos:
Usuario ALL=(ALL) ALL
Se pueden definir alias para usuarios, para hosts y para comandos, en los apartados
correspondientes que se encuentran al principio del archivo, de la siguiente forma:
Host_Alias VARIABLE=localhost, estacion1, estacion2 (Define alias de mquinas)
User_Alias VARIABLE=usuario1, usuario2 (Define alias de usuarios)
Cmnd_Alias VARIABLE=comando1, comando2 (Define alias de comandos)
Como ejemplo vamos a crear un grupo de usuarios, un grupo de hosts, y permitirles
apagar y reiniciar el servidor como root:
Host_Alias ESTACIONES=localhost, linux1.local, linux2.local
User_Alias APAGADORES=maria, juana, pablo
1

Cmnd_Alias REINICIO=/sbin/halt, /sbin/reboot


Posteriormente y ya en el apartado final escribiremos esta lnea:
APAGADORES

ESTACIONES=(root) NOPASSWD:REINICIO

Por ltimo un ejemplo completo de un archivo de configuracin /etc/sudoers:


User_Alias USUARIOS = juanjux, javier, sergio, papa
User_Alias YO = juanjux
# Cmnd alias specification
Cmnd_Alias NICE = /usr/bin/nice
Cmnd_Alias NEWS = /usr/sbin/fetchnews
Cmnd_Alias APT = /usr/bin/apt-get
Cmnd_Alias CHMOD = /bin/chmod
Cmnd_Alias VIM = /usr/bin/vim
Cmnd_Alias VI = /usr/bin/vi
Cmnd_Alias DPKG = /usr/bin/dpkg
Cmnd_Alias MAKE = /usr/bin/make
Cmnd_Alias CP = /bin/cp
Cmnd_Alias RM = /bin/rm
Cmnd_Alias MV = /bin/mv
Cmnd_Alias TOUCH = /bin/touch
Cmnd_Alias KILL=/bin/kill
Cmnd_Alias HALT=/sbin/halt
Cmnd_Alias MKDIR=/bin/mkdir
# User privilege specification
root ALL=(ALL) ALL
USUARIOS ALL= NOPASSWD: NEWS
YO ALL= NOPASSWD: APT, CHMOD, VI, DPKG, MAKE, VIM, CP, RM, MV,
TOUCH, KILL, HALT, MKDIR, NICE
Los usuarios indicados pueden ejecutar cada uno de esos comandos con
privilegios de root haciendo "sudo comando".