¿"Sudo su -" se considera una mala práctica?

13

Antecedentes

Sé que la diferencia entre su -, sudo su -y sudo <command>:

  • su - - cambia el usuario a root, requiere la contraseña de root
  • sudo su - - cambia el usuario a root, solo requiere la contraseña del usuario actual
  • sudo <command>- otorga acceso a la raíz solo para un comando específico; requiere solo la contraseña del usuario actual

Mi pregunta es sobre si el uso sudo su -es o no una práctica segura en un entorno de producción.

Algunos pensamientos:

  1. Parece que permitir sudo su -plantea un riesgo de seguridad al hacer que el acceso a la cuenta raíz dependa de las contraseñas de los usuarios individuales. Por supuesto, esto podría mitigarse aplicando una estricta política de contraseñas. No creo que su -sea ​​mejor, ya que requeriría que el administrador comparta la contraseña raíz real.

  2. Permitir que los usuarios cambien completamente a la cuenta raíz hace que sea más difícil hacer un seguimiento de quién realiza cambios en el sistema. He visto casos en mi trabajo diario en los que múltiples usuarios tienen sudo su -acceso. Lo primero que hacen los usuarios al iniciar sesión en el sistema es ejecutarlo sudo su -, antes de comenzar a trabajar. Entonces, un día algo se rompe y no hay trazabilidad de quién se ejecutó rm -rf *en el directorio incorrecto.

Preguntas

Dadas las preocupaciones anteriores, ¿alguna vez es una buena idea permitir que los usuarios lo usen sudo su -o incluso lo su -hagan?

¿Hay alguna razón por la que un administrador configuraría cuentas de usuario para sudo su -o en su -lugar de sudo <command>(aparte de la pereza)?

Nota: Estoy ignorando el caso en el que el usuario se está ejecutando sudo su -o si su -el Administrador necesita realizar cambios en el sistema, cuando el acceso ssh directo se ha deshabilitado para el usuario root.

Kingand
fuente
44
sudo su -es bastante tonto ya que sudo -ihace esencialmente lo mismo, con menos pulsaciones de teclas.
Michael Hampton
Estoy de acuerdo con @MichaelHampton. Sin embargo, generalmente ejecuto sudo bashsimplemente para evitar algunos de los gastos generales de inicio de sesión. Sin embargo, después de reflexionar, eso puede no evitar tanto como me imagino.
ericx
2
@ericx Considere también sudo -s.
Michael Hampton

Respuestas:

11

Veamos tus casos:

 su -

ejecutará a / bin / sh como usuario root utilizando el entorno root. La contraseña de root es necesaria y el registro PUEDE registrarse dependiendo de la configuración de syslog (por lo general es /var/log/auth.log).

 sudo /bin/sh

ejecutará shell como usuario root utilizando el conjunto actual de variables de entorno (con algunas excepciones como se definirían en el archivo sudoers). La contraseña es la contraseña del usuario de origen y NO la contraseña del usuario raíz. sudo generalmente se registra.

 sudo su -

ejecutará un shell (generalmente / bin / sh) como usuario root configurando el entorno como usuario root. Esto requerirá la contraseña del usuario fuente y generalmente se registrará.

A veces es necesario tener el entorno raíz sobre su propio entorno, por lo tanto su - es un método apropiado. Recuerde que sudo seguirá registrando el uso del comando shell en cualquier caso.

mdpc
fuente
Perdí por completo la diferencia en los entornos entre sudo y su. ¡Gracias!
Kingand
0

* Dadas las preocupaciones anteriores, ¿alguna vez es una buena idea permitir a los usuarios usar sudo su *

No, no en mi opinion. No tiene ninguna ventaja práctica sobre permitirles su, excepto que no necesitan la contraseña de root para hacerlo.

o su - en absoluto?

Como siempre desactivo el inicio de sesión raíz, su es necesario y, en general, hace que el servidor sea más seguro.

Ron Lawhorn
fuente
2
No requerir que todos compartan activamente la contraseña de root tiene importantes ventajas culturales de seguridad que no deben pasarse por alto.
Falcon Momot
0

El PO parece proporcionar un montón de buenas razones para no permitir / alentar usos generales para correr sudo basho sudo su -desde que les cambia a un modo omnipotente las partes internas de los cuales son por lo general no conectado. Y podrían olvidar que están en ese modo y hacer algo ... lamentable.

Ergo, parece más seguro tener la mayoría de los usuarios restringidos a la ejecución sudo on/a/particular/command/o la lista de comandos. De esa manera, se registra cada comando sudo.

¿Encontrará excepciones en la práctica? Seguro. ¿Es la reacción a tales excepciones volver a la práctica perezosa de no restringido? sudo suProbablemente no.

MarkHu
fuente