Explore las diferencias entre los comandos sudo y su en Linux

Este artículo explora las diferencias entre sudo y su Comandos en Linux. También puedes mirar este video para obtener más información sobre estos comandos. Conviértete en root permanentemente con su es un conocido "no-no" en el universo * nix. ¿Por qué? Porque hacerse root con su significa que usted es root, lo que equivale a iniciar sesión en una terminal como usuario root con la contraseña de root. Y es peligroso por muchas razones.

Trabajar como root significa que tiene el poder de:

  • Eliminar todo o parte de los archivos
  • Cambiar permisos para algunos o todos los archivos
  • Cambiar el nivel de ejecución del sistema
  • Editar cuentas de usuario
  • Montar o desmontar sistemas de archivos
  • Quitar o instalar software
  • Crear, eliminar y modificar sistemas de archivos

Básicamente, puede hacer cualquier cosa en el sistema como usuario raíz. Esta es la cuenta administrativa todopoderosa. Y, a diferencia de otros sistemas operativos más comunicativos, no verá el mensaje "¿Está seguro?". »Diálogo para asegurarse de que rm -rf * el comando que acabas de emitir estaba en /opt/tmp en vez de /. Como puede imaginar, los errores cometidos como usuario root pueden ser irreversibles y devastadores. Hay una alternativa: sudo.

Índice

sudo

sudo, que significa, es un comando que realiza un aviso elevado sin tener que cambiar su identidad. Dependiendo de su configuración en el /etc/sudoers archivo, puede emitir comandos individuales como raíz o como usuario alternativo. Para continuar ejecutando comandos con poder de root, siempre debe usar el comando sudo. Por ejemplo, si desea instalar el Nginx paquete, ejecutas:

$ dnf install nginx

Pero verá un error si no es root o no está en el grupo Sudo. En cambio, si ejecuta este comando:

$ sudo dnf install nginx

Se le pedirá que ingrese su contraseña y luego puede ejecutar el comando si es parte del grupo sudo.

Una manera fácil de cambiar a una sesión interactiva como usuario raíz es la siguiente:

$ sudo -i

La teoría detrás del uso de sudo es que emitir el comando sudo antes de ejecutar cualquier comando te hace pensar más en lo que estás haciendo y, con suerte, cometer menos errores con una cuenta que tiene un poder ilimitado.

saber

su, por otro lado, es un acrónimo de. Básicamente, está cambiando a un usuario en particular y necesita la contraseña del usuario al que está cambiando. La mayoría de las veces, la cuenta de usuario a la que cambia es la cuenta raíz, pero puede ser cualquier cuenta del sistema.

Por ejemplo, si escribe:

$ su -

En el ejemplo anterior, cambia a root y necesita la contraseña de root. El (-) le proporciona el entorno raíz (ruta y variables de shell) en lugar de simplemente darle poder de usuario raíz para un solo comando mientras mantiene su propio entorno.

$ su bryant

Para el segundo ejemplo, vaya a Bryant, por lo que necesita la contraseña de Bryant a menos que sea root.

Si desea cambiar a Bryant cuenta de usuario, incluida la ruta de acceso de Bryant y las variables de entorno, utilice el (-) cambiar:

$ su - bryant

El (-) tiene el mismo efecto que iniciar sesión en un sistema directamente con esta cuenta de usuario. Básicamente tú ese usuario.

Conclusión

Resumen de lo que has aprendido.

  • sudo le permite emitir comandos como otro usuario sin cambiar su identidad
  • Debe tener una entrada en /etc/sudoers para ejecutar estos permisos restringidos
  • sudo -i te lleva a una sesión interactiva como root
  • su significa cambiar a un usuario en particular
  • Sólo tipo su cambiar a usuario root
  • sudo le pedirá su contraseña, mientras su le pedirá la contraseña del usuario al que está cambiando

Pero, ¿cuándo usas uno y no otro? Desde el sudo la política se define en /etc/sudoers, esto puede proporcionar comprobaciones de permisos potentes. Ya que sudo puede hacer casi cualquier cosa su ¿Puedo decir que es mejor apegarse a sudo a menos que esté trabajando con códigos heredados que requieran la su pedido.

Artículos de interés

Subir