GNU/Linux >> Tutoriales Linux >  >> Ubuntu

La diferencia entre sudo y su explicada

Introducción

El sudo y su Los comandos pertenecen al grupo de comandos con los que se encuentran todos los usuarios de Linux. Debido a que son similares en sintaxis y tienen funciones superpuestas, muchos usuarios nuevos no están seguros de cuándo usar uno u otro.

En este tutorial, aprenda todo sobre la diferencia entre su y sudo .

sudo contra su

Ambos su y sudo elevar los privilegios asignados al usuario actual.

La principal diferencia entre los dos es que su requiere la contraseña de la cuenta objetivo, mientras que sudo requiere la contraseña del usuario actual. Por lo tanto, es mucho más seguro usar sudo ya que no incluye el intercambio de información sensible.

Además, es recomendable ceñirse a sudo al realizar tareas que requieren privilegios de root. Al hacerlo, el usuario actual solo obtiene privilegios para el comando especificado. Por otro lado, su cambia completamente al usuario root, exponiendo todo el sistema a posibles modificaciones accidentales.

Cómo usar el comando su

El su comando significa usuario sustituto , y se usa principalmente para cambiar de un usuario a otro. Para ello, inicia un shell de inicio de sesión en el directorio y el entorno actuales (su ) o cambiando completamente la configuración del usuario objetivo (su - ).

La sintaxis principal es:

su [user_name]

o

su - [user_name]

Si el comando se usa sin el argumento, cambia al superusuario (raíz ) cuenta.

¿Cómo funciona el comando su?

Para invocar el shell de otro usuario dentro del directorio de trabajo/entorno de usuario, use el su comando (sin el guión).

Por ejemplo, para operar como un usuario llamado phoenixnap , ejecuta:

su phoenixnap

Luego, proporcione la contraseña para phoenixnap cuenta y presiona Entrar .

El shell debería cambiar y mostrar que ahora tiene acceso de operador a la cuenta especificada. Sin embargo, el entorno del usuario sigue siendo el mismo, como se muestra en la siguiente imagen:

¿Cómo funciona el comando su – [guión]?

Para pasar a otro usuario y cambiar a ese entorno de usuario de destino, use el su - comando.

Por lo tanto, para cambiar a phoenixnap usuario y muévase a su shell de inicio de sesión, escriba el comando:

su - phoenixnap

Escriba la contraseña para el phoenixnap cuenta y presiona Entrar para confirmar. El resultado debe ser similar a la siguiente imagen:

Cómo usar el comando sudo

sudo se utiliza como prefijo de los comandos de Linux, lo que permite al usuario que ha iniciado sesión ejecutar comandos que requieren privilegios de root. A diferencia de su , el sudo El comando en Linux requiere proporcionar la contraseña para el usuario que ejecuta el comando.

Todas las tareas administrativas y ejecutables requieren el permiso máximo (mantenido por root). En tales casos, se recomienda usar sudo .

La sintaxis principal es:

sudo [command]

Antes de que el sistema ejecute el comando, solicita la contraseña del usuario actual.

Tenga en cuenta que el sudo La opción solo puede ser utilizada por usuarios que pertenecen a sudoers grupo.

Agregar un usuario al grupo Sudoers

Para que un usuario ejecute un comando que requiere sudo prefijo, tiene que ser parte de los sudoers grupo.

Para agregar un usuario a los sudoers grupo, ejecute el siguiente comando (como raíz o una cuenta que ya tiene privilegios sudo):

usermod -aG sudo [user_name]

Por ejemplo, para agregar la cuenta phoenixnap , escribiría:

sudo usermod -aG sudo phoenixnap

Para ver una lista de cuentas que pertenecen al grupo sudoers, ejecute:

sudo getent group sudo

El resultado debe mostrar la cuenta agregada en el paso anterior:

Cómo funcionan sudo y su en diferentes distribuciones de Linux

su es un comando más antiguo pero con más funciones incluido en todas las distribuciones de Linux. Es la forma tradicional de cambiar a la cuenta raíz.

Linux desaconseja trabajar como root, ya que puede causar cambios no deseados en todo el sistema y sugiere usar sudo en cambio. Por esta razón, todos los basados ​​en Ubuntu los lanzamientos son solo sudo , lo que significa que la cuenta raíz no está activa de forma predeterminada.

Al instalar un sistema operativo Ubuntu, crea un usuario etiquetado automáticamente como parte del grupo sudoers. Sin embargo, no hay configuración de cuenta raíz. Para habilitar el usuario root, debe activarlo manualmente.

Por otro lado, otras distribuciones de Linux, como Fedora, crean una cuenta raíz y de usuario al momento de la instalación.

Habilitación de la cuenta raíz

Si está utilizando una distribución basada en Ubuntu e intenta cambiar al usuario raíz, el resultado le informa que hay una falla de autenticación .


Para activar el usuario root, ejecute el comando passwd:

sudo passwd root

A continuación, el resultado solicita establecer la contraseña para el usuario root. Escriba y vuelva a escribir una contraseña segura, luego presione Enter. El sistema debería notificarle que la contraseña se ha actualizado correctamente.

Verifique que el usuario raíz esté activo cambiando a su shell de inicio de sesión con su - .

Características adicionales

Aunque sudo está vinculado principalmente a la ejecución de comandos con privilegios de root, también se puede utilizar para cambiar el usuario root. Cambie al usuario raíz y adquiera el entorno raíz con:

sudo -i

Escriba la contraseña del usuario actualmente en uso. Ahora debería estar en el shell raíz.

Asimismo, su también puede funcionar como sudo y ejecute un solo comando como root:

su -c [command]

Ubuntu
  1. ¿La diferencia entre [[ $a ==Z* ]] y [ $a ==Z* ]?

  2. ¿La diferencia entre usuario y cuenta de servicio?

  3. Centos:¿la diferencia entre el apagado a las 18:00 y el apagado a las 18:00?

  4. ¿Diferencia entre el usuario de Sudo y el usuario raíz?

  5. ¿Cuál es la diferencia entre Ddrescue, Gddrescue y Dd_rescue?

Comprender la diferencia entre los comandos sudo y su en Linux

¿Cuál es la diferencia entre Rsync y BTRFS en Linux?

¿Cuál es la diferencia entre el comando Cat y Touch?

Explicación de la diferencia entre apt y apt-get

¡Explicado! La diferencia entre los comandos grep, egrep y fgrep

Explicación de la diferencia entre apt y apt-get