SDB:Iniciar sesión como administrador (root)

Saltar a: navegación, buscar

Introducción

En este artículo nos referiremos a administrador, pero en muchos sitios y programas en GNU/Linux también se le conoce como superusuario. Y también es normal referirse al administrador por el nombre en inglés de root, siendo todos términos análogos.

En sistemas Unix/Linux hay un usuario especial para la administración del sistema. Este es el usuario con el uid 0 (uid viene de identificador de usuario en inglés) y como nombre de usuario administrador. El administrador puede hacer cualquier cosa y en cualquier sitio, por lo tanto, cualquier error cometido por el administrador puede dar al traste con todo el sistema. Además, cuando una persona no autorizada en un sistema se convierte en administrador de manera poco ortodoxa con fines poco claros ya puedes darte por acabado.

Un mensaje inicial de un cliente que debería servir de advertencia:

 ... me acaba de ocurrir un accidente, porque estaba trabajando como administrador.
 Queriendo conseguir un sonido, he escrito por error "ls>/dev/hda2" en lugar de "/dev/dsp". Por desgracia, "/dev/hda2" es la partición raíz.

Corrección: "/dev/hda2" era tu partición raíz. Con cierto regocijo malévolo, daremos nuestro más profundo pésame por la pérdida ;-)

Años de experiencia en sistemas Unix y basados en Linux han llevado a la conclusión de que no es seguro:

  • Hacer trabajo 'normal' sobre un sistema accediendo como administrador. Demasiado riesgo de hacer algo mal debido a un cambio por error y contaminación severa del sistema por mezclar datos de usuario y datos de sistema. Accede como administrador solo cuando sea realmente necesario.
  • Acceder como administrador, en particular cuando se usa en red (por el peligro que existe de intercepción de datos en la red), hay algunas excepciones a esta regla, que se explicarán más adelante.

Procedimiento

Examinaremos cómo observar estas reglas en openSUSE.

No acceda como administrador para el trabajo normal

openSUSE te lo facilita

Durante la instalación se le pedirá que agregue al menos un usuario normal a la base de datos de usuario. Este es el que debe usar para su trabajo normal, al igual que en el acceso en la interfaz gráfica de usuario (por ejemplo, KDE o Gnome) y gestión del correo, escuchar música, navegar por la red, etc. Para identificarle llamaremos a este usuario: feliz, para que lo represente como el usuario de openSUSE feliz.

Por diseño del sistema operativo, para un usuario no está disponible fácilmente el acceso a la interfaz gráfica como administrador mediante una simple pulsación sobre uno de los usuarios disponibles. No se sorprenderá si le decimos que no debe cambiar esto, ya que no debe verse como una desventaja, sino como una seguridad añadida para mantener su sistema a salvo.

Qué más se puede hacer

Cuando haya más personas que utilizan el sistema (como su pareja, sus hijos, etc...) cree para cada uno de ellos un nombre de usuario. Así tendrán su propio espacio en el disco (llamado HOME) inaccesible para los demás usuarios (en parte: otros usuarios no tendrán privilegios para modificar o crear archivos, pero sí podrán verlos) , y podrán elegir su propio gestor de escritorio, fondos de pantalla, etc. Si bien esta recomendación sólo está remotamente relacionada con nuestro problema de usuario administrador, sí que muestra la diferencia entre usuario "normal" y las ventajas del administrador del sistema. Puede haber muchos usuarios normales, pero sólo hay un administrador. ¡Y el conocimiento de la contraseña que otorga derechos de administrador debe estar restringido! El caso de que no haya más que un usuario "normal" (feliz) es un caso particular en Linux de un sistema con varios usuarios. Lo que conduce a la siguiente recomendación.

Considere la instalación de un usuario para las tareas y los datos del administrador de sistemas. Llamemos a este usuario: admin (por ejemplo). Ahora usted puede hacer y guardar las cosas como un administrador de sistemas, sin necesidad de hacerlo como "root", independientemente de las cosas que hace y almacena como feliz.

A propósito, se pueden añadir nuevos usuarios a través del siguiente menú:

 YaST > Seguridad y usuarios > Gestión de usuarios.

Sobre el uso de la red

Antes de continuar, primero unas palabras sobre la red. Protocolos como telnet, rsh, y rlogin se consideran muy peligrosos para su uso en las redes de hoy en día, incluso para un uso normal. Evite utilizar estos protocolos para enviar la contraseña de root, los paquetes en los que viaja pueden ser interceptados y así conseguir la contraseña y utilizarla de manera poco ética. Es mejor utilizar protocolos seguros como ssh.

No acceda directamente como administrador (root)

Todas las acciones que requieran privilegios de administrador, le pedirán que ingrese la contraseña de superusuario. Esto no es sólo para prevenir que cualquier usuario se identifique como administrador (con los privilegios que conlleva), sino que también sirve para avisarle de que ponga un cuidado especial en lo que vaya a realizar.

Ya se ha comentado sobre el acceso como administrador en la interfaz gráfica. Esto en openSUSE no es fácil de hacer y está bien que sea así. Pero esto no implica que no podamos utilizar programas de interfaz gráfica para manejar nuestros sistemas incluso con los privilegios de administrador.

Programas que se ocupan de este problema por sí mismos

Un ejemplo es YaST. Cuando inicias YaST se comprueba si se ejecuta como administrador y si no es así se le pedirá la contraseña. Cuando YaST finalice no quedarán olvidados procesos que se ejecuten como administrador.

Algunos programas tienen opciones especiales que generan este tipo de acciones, por ejemplo:

  • Konsole: Tecleando su se le pedirá que ingrese la contraseña de administrador en la ventana del terminal. Al ingresar como administrador el fondo o el indicador del sistema (prompt) cambiarán de color para recordarle que está trabajando con privilegios de administrador.


Comenzar un programa de interfaz gráfica de usuario mediante el uso de kdesu/gnomesu

Quizás ya sepas que puedes ejecutar un comando mediante la combinación de teclas Alt+F2 e introduciendo el comando en la ventana. Si es usuario del escritorio KDE, empiece el comando con kdesu seguido del comando que quiera ejecutar o el programa que quiera arrancar con privilegios de administrador. Por ejemplo:

 kdesu Dolphin

Después de identificarse introduciendo la contraseña de administrador se abrirá el gestor de archivos Dolphin pero con privilegios de administrador. Debe tener especial cuidado en lo que hace, por que como se ha venido repitiendo en este modo tiene plenos derechos para realizar todo tipo de acciones en todos los archivos y en todos los directorios, incluso de sistema. Para los usuarios del escritorio Gnome existe el equivalente que sería gnomesu. No es una buena idea iniciar el programa Firefox de esta manera y luego navegar y realizar descargas a través de Internet. Así que hay que tener muy claro qué y por qué se está ejecutando algo en modo administrador.

Ejecutar un comando como administrador en una sesión de terminal

Es muy común en GNU/Linux usar la línea de comandos, en especial para las tareas de administrador. Como se mencionó anteriormente se podía iniciar un emulador de terminal (konsole, xterm) directamente como administrador, pero cuando no está escribiendo declaraciones que necesiten privilegios de administrador todo el tiempo, es mejor iniciar el emulador de terminal como usuario feliz y restringir el uso del administrador sólo a los comandos que así lo requieran. Para ello utilice la sentencia 'sudo por ejemplo:

 sudo /etc/rc.d/apache2 restart

Después de que el reinicio de Apache haya acabado, una acción que requiere privilegios de superusuario (normalmente no se mostrará ninguna salida durante esta acción) regresará a ser un usuario normal'. Es decir realizará sólo la instrucción indicada con privilegios de superusuario por lo que le pedirá la contraseña. Después, las demás instrucciones serán ejecutadas con los privilegios de un usuario normal a no ser que le vuelva a indicar lo contrario. Otro ejemplo. Para editar la tabla de particiones también se requieren privilegios de administrador. Para ello puede utilizar el editor de textos vi con privilegios de superusuario así:

 sudo vi /etc/fstab

o si su editor favorito es kwrite puede utilizar este otro método:

 kdesu kwrite /etc/fstab

En ambos casos se requiere introducir la contraseña de administrador.


Una sesión más larga en terminal como administrador

Cuando se requiere hacer muchas tareas en un terminal como administrador, se necesita usar el comando su. Arrancará un nuevo terminal con privilegios de administrador de manera continuada. Se recomienda el uso de la opción - o -l o --login junto con la ejecución del comando su. Este parámetro hace que al iniciar sesión como administrador esta empiece desde el espacio (HOME) reservado para el administrador en el disco. Esto significa que si inicia con el comando su - esto le iniciará la sesión en la ruta adecuada de la ubicación del administrador, guardada en la variable PATH. Si inicia sin ninguna opción, sólo con el comando su la ruta a la que acceda como administrador será la propia del usuario normal que puede contener directorios dudosos donde haya peligrosos archivos ejecutables.

¡Lo mejor es que veas tú mismo la diferencia! Abre un terminal (konsole, yakuake, terminal o la que prefieras) e introduce el comando:

 su

después de introducir la contraseña verás que el prompt ha cambiado y se sitúa en la ruta:

 /home/feliz #

Podemos comprobar en el directorio que estamos con el comando:

 pwd

(print working directory)

A continuación veamos que contiene la variable PATH con el siguiente comando

 echo $PATH

Las rutas que se muestran corresponden a los directorios del usuario feliz. Volvamos a ser un usuario normal abandonando la sesión administrador con el comando:

 exit

A continuación nos registraremos con el comando:

 su -

Después de introducir la consabida contraseña repitamos los pasos anteriores para ver las diferencias. En este último caso todas las rutas se refieren al espacio del administrador. ¡¡Haz la prueba!!

La consola real

Están disponible múltiples "pantallas lógicas" a las que puede acceder con la combinación de teclas:

 Ctrl+Alt+Fn

donde Fn corresponden a las teclas de función. Para acceder a su interfaz gráfica de usuario se realiza mediante Ctrl+Alt+F7, puede acceder a una segunda (o más) interfaz gráfica con la combinación Ctrl+Alt+F8 y así sucesivamente. Para acceder a una consola real de su sistema GNU/Linux lo puede hacer con la combinación Ctrl+Alt+F1. Cuando pruebe esta combinación de teclas por primera vez después del arranque podrá ver las últimas líneas del arranque y se le pedirá que inicie sesión somo usuario. Sucede lo mismo que en el emulador de terminal que ha usado antes (konsole, yakuake, terminal, ...) regístrese como usuario feliz y después, si es necesario, como administrador con sudo o su (recuerde las diferencias) recuerde que no está en una interfaz gráfica así que no se moleste en usar kdesu o gnomesu.