¿Preocupación por iniciar sesión como root sobrevalorado?

16

Para Linux personal en mis cuadernos personales, generalmente configuro mi entorno para iniciar sesión automáticamente como root incluso bajo X o niveles de ejecución más bajos. He descubierto que mi flujo de trabajo es muy agradable y rápido, sin ninguna necesidad engorrosa de escribir suo sudopreguntar por llavero o autenticación o algo así.

Hasta ahora nunca he tenido ningún problema con eso, entonces, ¿ por qué la mayoría de la gente está loca? ¿Está sobrevalorada la preocupación? Por supuesto, esto supone que el usuario sabe lo que está haciendo y que realmente no le importan los problemas de confiabilidad y seguridad del sistema.

uray
fuente
44
¿Por qué correr como root? si realmente no desea escribir sudo, le sugiero que edite /etc/sudoersy agregue algunos comandos como nopasswd (no todos) y luego en su ~/.bashrc(o archivo de alias) agregue aliases sudo command. Probablemente esta no sea una buena idea, pero limitará el daño que puede hacer o que le haya hecho a usted.
xenoterracide
11
El nivel de hostilidad en este hilo es un poco preocupante; Es una pregunta legítima. Sí, correr como root todo el tiempo es una mala idea, pero no hay necesidad de darle la vuelta
Michael Mrozek
55
@Mrozek: De acuerdo. Ahora, nunca le daría la contraseña de root de OP a ningún sistema sobre el que tuviera control, pero destrozar el sistema de uno escribiendo lo incorrecto puede ser muy educativo. Quizás el OP escrito "Hasta ahora nunca he tenido ningún problema con él" aprenderá algo útil, como el hecho de que las cosas pueden suceder por primera vez.
David Thornley
2
Creo que esto resume por qué no: unix.stackexchange.com/questions/502/…
Alex B
3
Para llevar la analogía de un automóvil: es como conducir sin cinturón de seguridad. Posible, pero potencialmente mortal.
invertir

Respuestas:

33

Por las mismas razones por las cuales cada demonio debería tener derechos mínimos. Apache puede ejecutarse como root. ¿Está diseñado para realizar una tarea y seguramente nada malo puede suceder?

Pero suponga que apache no está libre de errores. Los errores se descubren de vez en cuando. A veces, incluso puede ser una ejecución de código arbitrario o similar. Ahora, con Apache ejecutándose como root, puede acceder a cualquier cosa; por ejemplo, puede cargar un rootkit en el kernel y ocultarse.

Por otro lado, escribir un rootkit a nivel de usuario es muy difícil. Tiene que anular diferentes programas (como ps) en el interior /home, lo que puede generar sospechas debido al espacio de disco adicional utilizado. Es posible que no conozca la configuración exacta y olvide incluir, gnome-system-monitorpor ejemplo, exponerse. Tiene que cubrir bash, tcshy cualquier shell que utilices (para iniciarse). Tendría que funcionar con diferentes configuraciones en lugar de "simplemente" anular un montón de devoluciones de llamada.

Considere que no hace mucho tiempo se descubrió una ejecución de código arbitrario en ... Adobe Reader.

Otra razón son los errores del usuario. Es mejor ser advertido antes de borrar todo el disco con un comando.

La tercera razón es conchas diferentes. Se debe instalar Root Shell /en caso de que sea necesario realizar el rescate del sistema. Los shells de los usuarios pueden instalarse /usr(por ejemplo, el usuario puede usar zsh).

La cuarta razón es que diferentes programas no funcionan como root. Saben específicamente que se supone que no deben hacerlo, por lo que necesitaría parchear el sistema.

La quinta razón es que /rootno debe estar en una partición separada mientras /homepuede (y debería). Tener /homeayudas separadas por varias razones.

TAMBIÉN : POR QUÉ NO USAR COMO USUARIO NORMAL. Más a menudo no necesita tener derechos de root que hacer. Es un costo muy bajo para la seguridad.

Maciej Piechotka
fuente
3
El hecho de que, como root, ddpueda hacer cualquier cosa a cualquier dispositivo de bloque en el sistema, combinado con el hecho de que es posible que root haga mucha intromisión, intencional y no intencional, con el núcleo y el sistema en / dev y / proc suficiente para convencer a cualquiera de que no se ejecute como root a menos que sea necesario.
LawrenceC
29

También puedes andar en moto desnudo, y nada puede pasar. Pero apuesto a que te sentirías mejor si lo hubieras hecho cuando chocas la bicicleta ...

nzwulfin
fuente
77
quizás, ¡pero piense en la sensación que tendría el resto del tiempo!
Sirex
12

Además del punto obvio de seguridad, está claro que nunca ha lavado su sistema al escribir mal un comando en el shell o un lapsus. Si sucede, comprenderá por qué la gente se asusta. Y luego llorarás con horror, y también te darás cuenta de que fue una experiencia altamente educativa, pero de todos modos no recuperarás tu sistema.

Un pensamiento: si se le solicita la contraseña de root durante el uso normal de su sistema (es decir, no instala paquetes o alguna otra tarea de administración del sistema), lo está haciendo mal .

axel_c
fuente
+1 por recordarme algunas experiencias antiguas. ¿O debería ser -1 para recuperarlos?
David Thornley
55
Nunca he entendido por qué la gente cree que usar sudo evita los comandos incorrectos. El último sistema que utilicé hace unos años fue un sudo rm -rf / dir / job.
Sirex
4

No, no está sobrevalorado. En la práctica, es menos apreciado. :-)

Mi pequeño equipo en el trabajo, por ejemplo, está compartiendo una máquina RHEL para el trabajo de desarrollo: creación de cosas, pruebas, etc. Esto también nos ha llevado a manejar el sistema operativo varias veces en su corta vida útil. Alguien que construye una cierta versión de libc eliminó el sistema libc por un tontorminvocación. En otro curioso incidente, faltaba la mesa de partición. (Ok, esto no tiene nada que ver con los privilegios). El resto del equipo está bloqueado hasta que se repare la rotura. Una solución es tener a alguien voluntario para asumir las tareas del administrador de sistemas. Hasta este punto, no nos ha importado demasiado, excepto para permitir que las personas aprendan sus lecciones: todos necesitamos algunas marcas de dientes en nuestros extremos traseros, y estas son marcas de dientes relativamente económicas.

Los realmente curiosos pueden querer seguir el principio del menor privilegio y leer el artículo de Ken Thompson, "Reflexiones sobre la confianza en la confianza". ("La moraleja es obvia. No puedes confiar en el código que no creaste totalmente tú mismo").

sajith
fuente
3

Retomando un comentario tuyo a otra respuesta

pero Linux se trata de la libertad, incluida la libertad de destruir sus propios datos, privacidad y seguridad

Incluso forzando a las personas a pasar sudo, Linux ofrece esta libertad. Todo el argumento de seguridad que desea evitar está ahí para protegerlo de cosas que no son usted (lea: programas maliciosos o programas controlados por personas maliciosas).

Piense en ello como un cinturón de seguridad. Toma un segundo para usar. Podría salvar tu vida de otros idiotas (así como a ti mismo).

Si no desea escribir su contraseña todo el tiempo, sudoedit /etc/sudoerspero si sigue ejecutándose como root, algún día probablemente ejecutará algo que destruya su sistema y todos sus datos.

Si está contento de saber que incluso algo tan malo como Flash podría reformatear su computadora, a nadie le importa lo que haga. Ejecutar como root.

Oli
fuente
2
No solo los programas maliciosos, sino también los defectuosos (p. Ej., Hubo un error en el sistema de compilación del núcleo en un punto que manchó su sistema si
compiló
2

¿Por qué no ejecutar Damn Vulnerable Linux como su sistema principal mientras lo hace? Si va a ignorar la seguridad del sistema, podría ignorarlo todo ...

xenoterracida
fuente
Técnicamente, una computadora con root como usuario principal puede estar teóricamente asegurada ...
Maciej Piechotka
3
@Maciej, la única computadora segura está desconectada, encerrada en concreto en el fondo de un lago.
xenoterracide
Como Mitnick señaló, alguien puede sacarlo del lago, romper el concreto y enchufarlo (oh. Él solo dijo que alguien puede enchufar una computadora desenchufada usando sociotecnia, pero el principio es el mismo). Traté de tener cuidado de usar 'técnicamente' y 'teóricamente'; también es mejor un bloqueo incorrecto que no bloquear. Por ejemplo, considero que mi sistema actual es lo suficientemente seguro a pesar de la falta de SELinux en él;)
Maciej Piechotka
La seguridad del pozo @Marciej tiene que ver con el análisis de costo / riesgo. nunca se pone más seguridad alrededor de algo de lo que vale algo.
xenoterracide
1
@Marciej y si no vale nada, entonces no tiene sentido ponerle seguridad, en ese momento no importa la vulnerabilidad.
xenoterracide
1

Estás hablando de un sistema operativo que es el esfuerzo de colaboración de innumerables personas. Si no ejecuta nada más que un software estable, PUEDE estar seguro por un tiempo.

Como se mencionó anteriormente, se sorprendería de cuán pequeño puede destruir toda su HD. En mi primer año, intenté ejecutar en root mucho porque, bueno, en los días de Fedora-core 3, no había tantas formas elegantes de administrar su sistema desde el usuario.

En ese momento, hice una pequeña edición xorg sin retroceder, porque no pensé que dolería. El escritorio se fue. Luego traté de arreglarlo manualmente, pero no pude entender exactamente qué había hecho. Más tarde, pensé que tal vez podría reinstalar mis controladores y mi computadora de escritorio, pero desconecté accidentalmente mi ethernet, ya que también era nvidia.

Mientras ejecutaba Arch por primera vez, ignoré las advertencias para crear un usuario y me ejecuté como administrador por un tiempo. Instalé un paquete de AUR que necesitaba y después de reiniciar, se interrumpió toda mi instalación.

Como estaba en la raíz, solucionar estos problemas se volvió mucho peor de lo necesario.

Podrías concluir que era simplemente incompetente. Pero como otros mencionaron ... escribir "sudo" es un pequeño precio a pagar por cierta tranquilidad.

EDITAR: Ah ... y ciertos programas, como WINE, expresamente no deben ejecutarse en un entorno raíz. http://wiki.winehq.org/FAQ#head-96bebfa287b4288974de0df23351f278b0d41014

Garrett
fuente
1

Razones de seguridad: una vulnerabilidad de daemon o script dirigida a Linux tendría el poder de Sysadmin sobre su sistema.

Ejecutar como un usuario simple Y usar sudo es muy diferente en términos de seguridad. Mi Firefox se está ejecutando como mi usuario, por lo que cualquier vulnerabilidad de Firefox solo afectará mi cuenta. Nada más.

lucabotti
fuente
0

Estoy de acuerdo con Maciej por la preocupación por la seguridad y el control de ciertos poderes. Además, como usted es el propietario de su sistema, puede desactivar esta funcionalidad si lo desea;) es su elección.

Abhishek
fuente
-4

No puedo ver ningún gran problema al iniciar sesión como root para una sesión normal, siempre y cuando no hagas nada estúpido.

No lo hago personalmente porque ocasionalmente hago algo tonto. Nunca me he dado cuenta de que algo estúpido que he hecho ha sido potencialmente un gran problema, pero no soy tan arrogante como para pensar que nunca haría algo realmente estúpido.

Neal
fuente
8
¿constituye un navegador web hacer algo estúpido?
xenoterracide
44
@xenoterracide: Diría que hacer algo estúpido si estás conectado como root.
David Thornley el
2
@David lo sé;) ese es el punto
xenoterracide