Por cuestiones de seguridad siempres es recomendable que usemos un usuario común con derecho limitados y solo acceder como root (con privilegios elevados) por terminal cuando se necesite.

Para esta tarea existen principalmente dos comandos o aplicaciones: sudo y su. Y esta vez les daremos un repaso.

Sudo: Accediendo como root con contraseña del propio usuario

Sudo viene de “Switch User DO”, supuestamente. Este comando permite a los usuarios ejecutar acciones con los privilegios de seguridad del superusuario o root (también se puede usar para acceder como otro usuario), esto de manera mas segura y controlable ya que se usa solo para operaciones especificas y luego se regresa a la terminal de usuario común. Se instala por defecto en /usr/bin.

Como ser root en terminal con sudo y su

La ventaja adicional de sudo es que permite ejecutar un comando como otro usuario, pero respetando una serie de restricciones sobre que usuarios pueden ejecutar que comando en nombre de que otros usuarios, estas restricciones generalmente se especifican en el archivo /etc/sudoers.

Por otro lado a diferencia de “su”, sudo pide a los usuarios su propia contraseña en lugar de la del usuario requerido; esto permite la delegación de comandos a usuarios en otras máquinas sin tener que compartir contraseñas, reduciendo el riesgo de dejar terminales desatendidos.

Por defecto, Debian deshabilita a todos los usuarios para acceder como root. Pero no te preocupes, para añadir nuestro usuario a la “Lista blanca” editaremos el archivo /etc/sudoers y añadiremos la siguiente linea al final:

nombre_usuario ALL=(ALL) ALL

Para el caso de querer añadir root usaremos:

root ALL=(ALL) ALL

Para agregar un grupo completo:

%nombre_grupo ALL=(ALL) ALL

Tanto para su como sudo, si queremos acceder como root, cambiando todas las variables de entorno se suele usar un guion “-” después del comando y antes del usuario.

Como ser root en terminal con sudo y su

Para acceder o abrir aplicaciones gráficas como root:

pkexec nombre_aplicacion

Otras maneras de acceder como otro usuario:

Conservando variables de entorno:

su eduar
sudo su eduar (no recomendado)
sudo -s (solo root) (recomendado)
sudo bash (no recomendado)

Eliminando variables de entorno y colocando las del usuario:

su – eduar
sudo – eduar (no recomendado)
sudo -i

Las variables de entorno tienen que ver con los PATH de cada usuario, por ejemplo en $HOME, ser root y tener $HOME puede causar algunos problemas, si ejecutas una aplicación gráfica, ~/.xauthority del usuario normal puede ser sobrescrito por el del usuario root. Esto ocasiona problemas como que el usuario normal no sea capaz de ejecutar ciertas aplicaciones gráficas.

Su: Accediendo a root con contraseña de root

Se dice «por ahí» que sus siglas significan “Substitute user”,“Switch user”, “Super user”,… en fin, no se sabe. Lo que si esta claro es que sirve para cambiar de usuario sin necesidad de hacer un cierre o cambio de sesión, todo desde la propia terminal. Generalmente se usa para obtener privilegios de root.

Si es primera vez que intentas obtener acceso a una terminal como root quizas aun no tengas la contraseña de root. Para obtenerla usaremos passwd con sudo:

sudo passwd root

De esta forma crearemos por primera vez la contraseña de acceso para root, la cual se recomienda que sea segura y no la compartas ya que incluye el acceso a todo tu sistema.

Manuales de su y sudo:

Para informacion y opciones mas detalladas tenemos los manuales de ambos, los cuales recomiendo ya que están muy claros y traducidos correctamente al español, para darles un vistazo usamos:

man su
man sudo

Una buena mejora es eliminar el tiempo de gracia que otorga sudo luego de ejecutar un comando.

Déjame en los comentarios si te sirvió el articulo ¿Como ser root en terminal con sudo y su?

Saludos.