Configurar
sudo y administrar el sistema con él
openSUSE,
al igual que la práctica totalidad de distribuciones GNU/Linux, conciencia
desde el principio a los usuarios sobre la necesidad de no utilizar el sistema
con privilegios de administrador (al que se llama root).
Además, se recomienda el uso del comando
sudo
para ejecutar comandos. Esto es más
seguro porque se puede seleccionar qué comandos puede ejecutar un determinado
usuario o grupo de usuarios, y también porque la ejecución de dichos comandos
con sudo
queda
registrada en el archivo /var/log/messages
(aunque también se tiene la opción de
elegir el archivo donde se hará el registro).
Configuración de sudo
En openSUSE,
sudo
se
instala de forma predeterminada, pero no se configura por defecto. Así que,
para poder usarlo, los usuarios deben introducir la contraseña del
administrador cuando quieran ejecutar un comando con sudo
. De
esta forma, cualquier usuario puede ejecutar sudo
si
conoce la contraseña del administrador del sistema. Sin embargo, desde el punto
de vista de la seguridad, no es una buena práctica que los usuarios conozcan la
contraseña del administrador. Aunque esto es sobre todo importante en sistemas
compartidos por varios usuarios, no está de más hacerlo también aunque se sea
el único usuario del sistema. Este es el motivo por el que se realizará la
configuración de sudo
.
Para permitir el uso de
sudo
a
una cuenta de un usuario se debe editar el archivo /etc/sudoers
desde
una terminal:sudo /usr/sbin/visudo
desde la que también se puede lanzar un
editor de texto gráfico si resulta más cómodo, en cuyo caso la orden depende
del escritorio que se esté usando:
EDITOR=gedit gnomesu /usr/sbin/visudo
·
en el escritorio KDE
kdesu bash -c "EDITOR=kwrite visudo"
Como cuando se haga esto
sudo
estará aún sin configurar, debes de
introducir la contraseña de administrador.
Permitir el uso de sudo
a los usuarios
Habiendo ejecutado alguno de los comandos comentados antes para abrir el
archivo
/etc/sudoers
, lo siguiente es buscar la línea que comienza por #%wheel
, donde
el prefijo %
de wheel
indica que wheel
es un grupo (se pueden ver los grupos
que hay definidos en el sistema con la orden cat /etc/group
). Es
decir, en vez de añadir uno a uno a los usuarios que puedan usar sudo
, lo
que se va a hacer es permitírselo a todos los usuarios que pertenezcan al grupo wheel
. El #
al
principio de la línea la convierte en un comentario, esto es, una línea que se
ignora por completo como si no existiera. Por tanto, para que se tenga en
cuenta hay que eliminarlo y dejar la línea como sigue:%wheel ALL=(ALL) ALL
Guarda y cierra el archivo. Si lo has editado con
sudo /usr/sbin/visudo
hazlo mediante esta secuencia de comandos::wq
Los dos puntos que aparecen al principio no mostrarán, solo sirven para que
wq
sea
interpretado por el editor por defecto (vim
) como una orden, guardar y salir en este
caso. Si lo has editado mediante gedit o KWrite, hazlo de la manera habitual en
un editor de textos gráfico.
A continuación hay que denegar a todos los usuarios la posibilidad de
ejecutar
sudo
, salvo a aquellos a los que se establezca que lo pueden hacer
(añadiéndolos más tarde al grupo wheel
). Para esto hay que convertir en comentarios
las siguientes líneas, añadiendo el símbolo #
al principio de la línea.#Defaults targetpw # ask for the password of the target user i.e. root
#ALL ALL=(ALL) ALL # WARNING! Only use this together with 'Defaults targetpw'!
Guarda y cierra el archivo. Por último, añade el nombre del usuario o
usuarios que desees al grupo
wheel
. Ejecuta el siguiente comando una vez por
cada usuario que quieras añadir al grupo, cambiando cada vez nombre_de_usuario
por el usuario al que quieras agregar.su -c "/usr/sbin/usermod -G wheel nombre_de_usuario"
Si se prefiere, también se puede hacer esto último de forma gráfica con el módulo de YaST Gestión de usuarios y grupos.
Para que los cambios tengan efecto es necesario reiniciar o cerrar y volver a
iniciar sesión. Es por eso que en este último comando se usó el comando
su
en
vez de sudo
. A partir de entonces, cuando se ejecute sudo
se
utilizará la contraseña del usuario que lo invoque en vez de la del
administrador del sistema.
Ejecutar aplicaciones gráficas con permisos
de administrador
Si quiere ejecutar un programa con de interfaz gráfica, como por ejemplo
KWrite para editar un archivo, el método más cómodo es pulsar Alt+F2 y escribir
en el diálogo que aparece lo siguiente, dependiendo del escritorio que se use:
·
en los escritorios GNOME, LXDE y Xfce (cambia
gedit por leafpad si usas LXDE o Xfce)
gnomesu <comando>
·
en el escritodio KDE
kdesu <comando>
Los comandos que pueden ejecutar los usuarios normales están en
/usr/bin
, así que para ejecutar
KWrite, por ejemplo, se usaría como ruta /usr/bin/kwrite
. Los comandos que pueden ejecutar los usuarios normales están en /usr/bin
, así que para ejecutar
KWrite, por ejemplo, se usaría como ruta /usr/bin/kwrite
. donde <comando>
es el nombre del programa que se quiera ejecutar. En caso de que no
funcione así, prueba a usar la ruta completa al archivo ejecutable. En GNOME
también se puede ejecutar el siguiente comando en una consola:xhost +; sudo gedit --display=:0; xhost -
Este método se puede usar incluso para ejecutar
visudo
, pero
hay que cambiar levemente las órdenes por:
·
en los escritorios GNOME, LXDE y Xfce (cambia
gedit por leafpad si usas LXDE o Xfce)
bash -c "EDITOR=gedit gnomesu /usr/sbin/visudo"
·
en el escritorio KDE
kdesu bash -c "EDITOR=kwrite visudo"
Por comodidad, se puede modificar de nuevo el archivo
/etc/sudoers
si
se ejecutan con frecuencia programas con interfaz gráfica desde la consola para
poder hacerlo con sudo
. Los pasos a seguir son los siguientes:
·
Abrir el archivo
/etc/sudoers
como se aprendió
antes.
·
Añadir
EDITOR VISUAL DISPLAY XAUTHORITY
a
la línea Defaults env_keep =
(dentro de las comillas).
·
Añadir la línea
Defaults editor = "/usr/bin/gedit:/usr/bin/joe"
, cambiando gedit
por el editor gráfico que se quiera (kwrite
en KDE, por ejemplo).
·
Añadir
[ $DISPLAY ] && export VISUAL="gedit" || export
EDITOR="joe"
al nuestro archivo ~/.bashrc
(~
es una forma abreviada de hacer
referencia a nuestro directorio de usuario), cambiando gedit
por el editor gráfico que se quiera.