Las diferencias entre Su, Sudo Su, Sudo -s y Sudo -i

Hay muchas formas diferentes de obtener una sesión raíz en la terminal de Linux. Esto puede crear cierta confusión, ya que la mayoría de los usuarios principiantes que buscan obtener privilegios de root pueden no estar familiarizados con cómo cada comando puede obtener acceso de root, en qué se diferencian y cuándo importan estas diferencias. Aquí desglosamos cada uno de los muchos comandos diferentes que se usan para obtener acceso de root en una terminal, explicamos cómo obtienen root, cuándo usarlos y todo lo demás.

su

los su comando sustituye al usuario actual que el sistema está usando en el shell.

Linuxsudo Su

Puede cambiar a cualquier usuario escribiendo su y agregando un nombre de usuario después de él. Esto le indicará al sistema que cambie (y básicamente cierre la sesión) del usuario actual al especificado. Alternativamente, el su El comando puede obtener acceso de root ingresando su sin especificar nada después del comando.

“Su” se usa mejor cuando un usuario desea acceso directo a la cuenta raíz en el sistema. No pasa sudo o algo por el estilo. En su lugar, se le pedirá que ingrese la contraseña del usuario raíz porque literalmente está iniciando sesión. Además, otras formas de obtener acceso a la raíz no tienen la ventaja de tener acceso también al directorio raíz de inicio y al entorno raíz.

sudo su

Este comando solicita la contraseña del usuario actual en lugar de root.

Linuxsudo Sudosu

Es esencialmente lo mismo que correr su en el caparazón, salvo por una diferencia crucial. En lugar de decirle al sistema que “cambie de usuario” directamente, le está diciendo que ejecute el comando “su” como root. Cuando sudo su se ejecuta, “.profile”, “.bashrc” y “/ etc / profile” se iniciarán, al igual que ejecutar su (o su root). Si se ejecuta algún comando con sudo frente a él, se le otorgan privilegios de root.

Aunque no hay una gran divergencia entre “sudo su” y “su”, sudo su sigue siendo un comando muy útil por una razón importante: cuando un usuario está ejecutando “su” para obtener acceso de root en un sistema, debe conocer la contraseña de root. La raíz se da con sudo su solicitando la contraseña del usuario actual. Esto hace posible obtener root sin la contraseña de root, lo que aumenta la seguridad.

sudo -i

Utilizando sudo -i es prácticamente el mismo que el sudo su comando con una excepción: no interactúa directamente con el usuario root.

Linuxsudo Sudoi

Muy parecido sudo su, los -i flag permite a un usuario obtener un entorno de root sin tener que conocer la contraseña de la cuenta de root. sudo -i también es muy similar a usar sudo su, ya que leerá todos los archivos ambientales (.profile, etc.) y establecerá el entorno dentro del shell.

Donde se diferencia de “sudo su” es que sudo -i es una forma mucho más limpia de obtener root y un entorno root sin interactuar directamente con el usuario root. Para aclarar: Con sudo su estás usando más de una raíz setuid comando en segundo plano. Esto hace que sea mucho más difícil averiguar qué variables ambientales se mantendrán y cuáles se cambiarán (al cambiar al entorno raíz). Esto no es cierto con sudo -i. Debido a esto, la mayoría de la gente lo ve como el método preferido para obtener root sin iniciar sesión directamente.

sudo -s

Este comando invoca un shell con su variable $ SHELL.

Linuxsudo Sudos

los -s El interruptor del comando “sudo” lee la variable $ SHELL del usuario actual que ejecuta los comandos. Este comando funciona como si el usuario estuviera ejecutando sudo /bin/bash. Sudo -s es un shell de estilo “sin inicio de sesión”. A diferencia de un comando como sudo -i o sudo su, el sistema no leerá ningún archivo ambiental. Cuando un usuario le dice al shell que se ejecute sudo -s, gana root pero no cambiará el usuario o el entorno del usuario. Tu hogar no será el hogar raíz, etc.

Linuxsudo Shellupdate

Este comando se usa mejor cuando el usuario no quiere cambiar a root pero quiere un shell interactivo con su valor de entorno $ SHELL. Otros comandos mencionados anteriormente obtienen acceso a la raíz, pero tocan los archivos ambientales de la raíz y permiten a los usuarios un acceso más completo a la raíz (lo que puede ser un problema de seguridad).

Preguntas frecuentes

1. ¿Qué comando debo usar?

Cada comando tiene su caso de uso. Lo importante aquí es comprender qué hace cada comando y cuándo usarlos. Tal y como está, sudo -i es la forma más práctica y limpia de obtener un entorno raíz. Por otro lado, aquellos que usan sudo -s descubrirán que pueden obtener un shell de root sin la capacidad de tocar el entorno de root, algo que tiene beneficios de seguridad añadidos.

2. ¿El acceso a la raíz puede dañar mi sistema?

En algunos casos, sí. A menos que esté absolutamente seguro de que necesita acceder a la raíz para todo en una sesión de terminal en particular, a menudo es mejor escribir sudo seguido de un comando si desea acceder a la raíz para ese comando en particular. Por ejemplo, escribiendo sudo apt install vlc en cualquier versión de Linux basada en Debian le diría al sistema operativo que acceda a la raíz solo para ejecutar el administrador de paquetes APT para instalar VLC.

Una advertencia muy importante para correr sudo -i o cualquier otra variante que hemos discutido anteriormente en lugar de escribir sudo antes de cada comando que desea ejecutar como root es que el primero no registra su historial de comandos en /var/log/auth.log. Si te equivocas, no puedes volver atrás y verificar lo que hiciste para poder corregirlo. Tendrá que operar sin memoria, ya que las sesiones raíz no se registran.

3. Cuando escribo “sudo” antes de un comando, ¿qué variante de “sudo su” estoy ejecutando?

Escribiendo sudo para ejecutar un comando (es decir, lo está escribiendo en la misma línea que el comando que desea ejecutar), esencialmente lo está ejecutando bajo un shell de root interactivo. Esto sería lo que sudo -s el comando independiente lo hace.

Terminando

Realmente no hay un comando en esta lista que sea 100% el mejor. A medida que los usuarios se sientan más cómodos con la línea de comandos, deberán tener en cuenta todas las formas de obtener root (y hay muchas) y sopesar los pros y los contras y actuar en consecuencia. Espero que con la ayuda de este artículo estas decisiones sean más fáciles de tomar. Si desea obtener más información sobre los comandos, lea este artículo sobre comandos útiles de Linux para enumerar el contenido de un directorio.

¿Es útil este artículo?

Puedes compartirlo con alguien que le pueda resultar de ayuda

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *