¿Qué es diferente entre root y sudo?

14

Un usuario root puede tener todos los privilegios. Pero un usuario normal puede obtener acceso como una raíz con su o sudo comando y su propia contraseña.

Entonces, ¿cuál es la diferencia?

Hieu Nguyen
fuente

Respuestas:

7

El sucomando (y sudo) requiere tradicionalmente la contraseña de root . Sin embargo, puede configurar sudopara que los usuarios comunes puedan obtener privilegios de root con su propia contraseña modificando /etc/sudoers(como root, preferiblemente con visudo).

Las distribuciones modernas de Linux preconfiguran al primer usuario para que pueda sudo con su propia contraseña. Esto evita la configuración incorrecta accidental del sistema por parte del usuario y les permite obtener el control total sin la necesidad de una contraseña de root por separado.

phihag
fuente
2
Debería usar «visudo» en lugar de editar manualmente / etc / sudoers: se comprobará la sintaxis antes de guardar, lo que podría ahorrarle algunos problemas.
Nicolas
@Nicolas actualizado para incluir eso. Pero quería señalar que el archivo está escrito automáticamente por las distribuciones modernas.
phihag
3

Un usuario normal solo puede obtener acceso raíz con sudo si está en el archivo sudoers (lo que significa que es lo suficientemente confiable como para obtener permisos de administrador a pedido). En un entorno de producción, casi nadie debería ser un sudoer.

Temblores
fuente
3

El sucomando le permite cambiar temporalmente una identidad a cualquier usuario en un sistema y ejecutar muchos programas con sus permisos. No tiene que ser la raíz. Si el usuario que ejecuta suno es la raíz, debe ingresar la contraseña del usuario que desea obtener identidad.

El sudocomando es ejecutar un comando con permisos de cualquier usuario. No tiene que ser la raíz también. El comando es muy configurable y proporciona algún tipo de control de acceso preciso. La contraseña propia que ingresa es opcional y configurable. Algunas distribuciones permiten que el primer usuario del sistema se ejecute con sudotodo.

Michas
fuente
2

Para agregar a las respuestas anteriores,

su user1con la contraseña del usuario cambiará su credencial a usuario1 hasta que escriba exit solo suasumirá root por defecto.

sudocomo se menciona en otras respuestas, se puede otorgar a usuarios confiables y un conjunto de comandos restringido. además, sudose puede configurar para registrar comandos ejecutados. Esta es una buena manera de rastrear el mal uso de los privilegios.

Lord Loh
fuente
1

No todos los usuarios normales pueden usar sudo, tienen que estar en el archivo sudoers y usted puede controlar qué comandos o tipos de comandos puede ejecutar el usuario. Además, solo ciertos usuarios pueden usar su para cambiar al usuario raíz. Normalmente, solo tendría permisos de sudo para un conjunto limitado de comandos y permisos de su total durante un período de tiempo limitado.

ldg
fuente
3
bastante seguro de que todos los usuarios pueden usar su, solo necesitarán la contraseña del usuario al que se están cambiando.
Grady Player
1
Tradicionalmente, los BSD requieren que uno esté en el grupo de ruedas para permitir que el uso de su se convierta en raíz. Esto también se puede configurar en Linux, pero no es estándar.
Jaap Eldering
-2

Solo los usuarios con privilegios de superusuario pueden sudo o su, los usuarios normales no pueden. Esto se configura en / etc / sudoers, que siempre debe editarse con visudo.

Los beneficios de este sistema son:

  1. Es fácil para un usuario privilegiado ejecutar comandos como root solo cuando sea necesario,
  2. hace que sea más difícil adivinar el nombre de usuario raíz (por ejemplo, si un simple bot ssh intentara iniciar sesión en un sistema rootsería el primer nombre de inicio de sesión para adivinar).
  3. Varios usuarios en un sistema compartido pueden tener permisos de root, sin necesidad de compartir contraseñas.
dr jimbob
fuente