¿Cuáles son los beneficios de sudo over su?

17

¿Cuál es el beneficio real que logran Ubuntu (o los derivados de Debian) deshabilitando el usuario raíz?

En todas partes donde leo, se dice para evitar daños involuntarios para usuarios inexpertos. Quiero saber qué exactamente, ya que sudo puede ejecutar todos los comandos (que sé / uso).

Entonces, ¿en qué caso la raíz puede causar daño mientras que sudo no?

PD: sé cómo funciona sudo .

    
pregunta Web-E 11.05.2012 - 10:26

7 respuestas

28
  

Entonces, ¿en qué caso raíz puede causar daño mientras que sudo no?

Dado que normalmente debe invocar sudo cada vez que desee hacer algo que requiera privilegios, el razonamiento es que "pensará antes de saltar", es decir, no solo colocará sudo delante de algo sin pensar por un segundo qué el comando que estás ejecutando va a hacer.

Con su , por otro lado, una vez que estás adentro, estás dentro. Tienes carta blanca (una licencia abierta) para hacer cualquier cosa y todo, y el razonamiento es que podrías olvidar por un momento que tu tener esos privilegios y si no tiene suerte, ejecute algo que afecte / dañe gravemente su sistema; si no tuviera los privilegios, el comando no habría hecho nada grave.

    
respondido por el ish 11.05.2012 - 10:29
16

IMO las principales ventajas de sudo over su son que sudo tiene un registro superior de los comandos que se ejecutaron y sudo ofrece un control más preciso sobre lo que los usuarios pueden hacer.

su es todo o nada, pero sudo se puede configurar para permitir el acceso a algunos, pero no a todos los comandos.

Consulte enlace para obtener una discusión más completa, incluidas las ventajas y desventajas.

    
respondido por el Panther 11.05.2012 - 12:24
10

su -

Cuando inicie sesión como root , cualquier tarea que inicie, acción que active o evento aleatorio causado al visitar un sitio web determinado, etc. se ejecutará como superusuario . fuerte>.

sudo

Cuando invoque sudo , al ejecutar un comando, solo ese comando se ejecutará como superusuario .

Se le pedirá su contraseña antes de ejecutar el comando. Por lo tanto, la interacción del usuario contigo también es obligatoria .

Los intentos de invocar sudo también se pueden registrar .

    
respondido por el david6 11.05.2012 - 10:41
3

Se trata de la administración de usuarios / contraseñas para administradores de sistemas.

Si tiene varios usuarios, todos deben tener cuentas separadas y se les debe poder rastrear usando esas cuentas. Esto significa que las personas no pueden ocultar su identidad. Además, si necesita revocar los permisos de usuarios específicos, no tiene que restablecer la contraseña de root. Para dar a cada persona en un entorno con más de 2 administradores, la contraseña de root crea una pesadilla cuando una persona se da por vencida. No solo debes cambiarlo, sino comunicarlo, etc. Todo esto también tiene que suceder cuando uno de ellos tiene una laptop robada o cosas por el estilo. Una cuenta con una contraseña por persona hace que la administración sea más simple. Es similar a la filosofía detrás de por qué cada servicio debe tener su propia cuenta. Si una cuenta está en peligro, no tiene que volver a configurar otra docena de servicios (como tareas de respaldo) para usar una cuenta diferente.

También considero personalmente conveniente no tener otra contraseña para seguir, perder y comprometerme. En RHEL, desactivo específicamente la cuenta raíz después de configurar sudo, así que no tengo que rastrearlo. De vez en cuando, un usuario borra el archivo sudo, pero se puede reparar en modo de usuario único. (Naturalmente, generalmente es una máquina de producción).

NOTA: 'sudo bash' te permitirá omitir escribir sudo para cada comando ...

    
respondido por el flickerfly 16.05.2012 - 02:54
2

Además, hay consideraciones de registro para considerar entre sudo y su. Siendo simplemente hace todo como root sin ninguna entrada que no sea una línea en el registro de autenticación que dice que se convirtió en root.

Sudo, por otro lado, siempre se registra como su ID de usuario con priveleesw escalado.

    
respondido por el kd1s 16.08.2014 - 13:40
1

Creo que primero tenemos que ver qué su y sudo son en realidad

su - significa Usuario Sustitutivo. Usted usa esto para cambiar a un shell como otro usuario que usa la contraseña de ese usuario. Comúnmente utilizado con root  No requiere una contraseña cuando se ejecuta como root.

sudo : permite a un usuario permitido ejecutar un comando específico como otro usuario. También se usa comúnmente con raíz. Sin embargo, esto le permite administrar específicamente qué comandos se pueden ejecutar como otro uso. (Por ejemplo, podría darle a un usuario la capacidad de ejecutar un script init.d pero nada más).

Nota: siempre puedes ejecutar sudo su o sudo -i y eso te dará un shell raíz. Sin embargo, ninguna contraseña de root significa que no se inicie sesión directamente como root ... lo que significa que nadie puede entrar en ese usuario.

EDITAR: quizás esta respuesta que buscas es: no tener una contraseña de root te obliga a usar sudo , que a su vez te alinea de forma natural con la filosofía sudo que te sugiere que impongas un mayor control sobre las acciones que se ejecutan como root.

    
respondido por el user606723 11.05.2012 - 17:36
0

Generalmente, iniciar sesión como su es más fácil cuando se realizan tareas administrativas. Sin embargo, hay al menos una excepción: cuando importa la propiedad del archivo. Si necesita que un usuario sea el propietario de un archivo, inicie sesión como ese usuario y use sudo para descargar o copiar archivos. Los ejemplos simples son los marcadores y los fondos de escritorio. Si un usuario no posee el archivo, los marcadores "Restaurar" Firefox "From File" fallarán. Cuando configura un fondo de escritorio, es posible que no funcione a menos que sea el propietario del archivo. A veces puede establecer privilegios o habilitar como un archivo ejecutable, pero algunas configuraciones o programas fallan si no es el propietario de un archivo.

    
respondido por el DotheMath45 16.05.2012 - 02:44

Lea otras preguntas en las etiquetas