¿Por qué no hay una opción para iniciar sesión como root?


39

¿Por qué Ubuntu no permite que los usuarios de la GUI inicien sesión como root en el momento del inicio del sistema como administrador en Windows?

¿Por qué nos restringen a iniciar sesión solo a través del terminal?


44
También tenga en cuenta 'gksu' que le permite ejecutar aplicaciones gráficas como root. Es decir, "gksu nautlius"
Jeremy

1
Algunas distribuciones te permiten iniciar sesión en X como root. CentOS6.2 es uno de ellos.
djangofan

Respuestas:


42

Porque no se recomienda hacerlo a menos que sepa exactamente lo que está haciendo. Root es un superusuario, lo que significa que puede hacer cualquier cosa, solo para tareas administrativas. Las tareas diarias pueden conllevar un riesgo de seguridad que SERÁ explotado si TODOS (o una gran proporción de usuarios) usaran root. Piense en Windows: el 99% de los problemas de malware y virus provienen de personas que usan cuentas de administrador para las tareas cotidianas.

Veamos un ejemplo.

¿Qué pasa si alguien irrumpe en su sistema y le dice que borre sus discos? Si está ejecutando como un usuario normal, los únicos archivos que (debería) ser capaz de eliminar son aquellos que le pertenecen , y no a nadie más. Si, por ejemplo, tuviste a otras personas usando la computadora, sus archivos no se tocarán en absoluto, sin importar cuánto lo intentes. Eso significa que no podrá cambiar ningún archivo del sistema y, por lo tanto, su sistema permanecerá sólido como una roca y no se verá afectado / no infectado.

Sin embargo, si se ejecuta como root, puede borrar el disco duro por completo, probablemente dañar el hardware en sí mismo y, en general, dejar el sistema inutilizable. Corrección: cualquiera que pueda ejecutar un solo comando como root en su computadora (algún sitio web malicioso o un archivo adjunto de correo electrónico) puede hacerlo.

Echa un vistazo a http://everyjoe.com/technology/explain-why-not-log-on-as-root/ , es un buen artículo que podría explicarlo mejor que yo.

EDITAR: aquí hay otro http://ihazomgsecurityskillz.blogspot.nl/2010/09/running-as-root.html

EDIT2: siempre puede usar sudo commando gksu commandejecutar commandcomo superusuario, ambos funcionan con utilidades gráficas y de línea de comandos. sudosin embargo, generalmente se usa para CLI y gksues la solicitud de contraseña gráfica que hace lo mismo.

Hasta cierto punto, te permiten convertirte roottemporalmente, mucho, mucho mejor que correr como root constantemente y arriesgar la inestabilidad.


1
Pero, ¿por qué Fedora permite esta opción al inicio?
Renjith G

55
Ubuntu está diseñado para ser fácil de usar, y sospecho que al no permitir root, eliminan la tentación de los usuarios normales (léase: novatos de Linux) que se ejecutan como root.
evgeny

No te entendí.
Renjith G

2
Mi comentario fue un poco equivocado. Digamos esto en su lugar: al no permitir el inicio de sesión gráfico de la raíz, evita que las personas se ejecuten como root A MENOS QUE SABAN LO QUE ESTÁN HACIENDO. Es decir, en mi opinión, solo debe permitirse para usuarios experimentados que conozcan y comprendan todos los riesgos.
evgeny

1
Está destinado a ser un poco agresivo, solo para devolver a los lectores a la realidad y realmente hacer un punto.
evgeny

11

En Ubuntu estándar, los rootinicios de sesión no están permitidos, ni desde el administrador de inicio de sesión GDM (gráfico), ni desde la consola de texto (es decir, el que obtiene si presiona Ctrl+ Alt+ F1).

Para realizar rootoperaciones (es decir, administrador), debe usar el sudocomando en un terminal, o cualquier GUI equivalente: le pedirá su contraseña y luego realizará la operación privilegiada solicitada (y solo esa).

La razón de este comportamiento es, como han señalado otros, que realizar rootoperaciones es inherentemente riesgoso y la cantidad de operaciones que realmente requieren rootprivilegios es relativamente pequeña: al usar este sudoenfoque, la mayoría de las veces se ejecuta con una cuenta no privilegiada (es decir, inofensiva para el sistema y otros usuarios) y simplemente obtener los rootpoderes cuando realmente se necesita.

Un ejemplo podría ayudar a aclarar. Suponga que desea instalar un nuevo servicio (daemon) en su máquina; Esto es relativamente nuevo y necesita leer sobre esto y cómo configurarlo según sus necesidades. Terminarás navegando mucho por la web para encontrar información, configuraciones de ejemplo, etc., tal vez tengas un chat IRC para pedir más información, ¡nada de esto requiere rootpoderes! Al final, solo necesita acceso privilegiado para dos operaciones:

  1. instalar el nuevo programa (es decir, sudo apt-get install ...) y
  2. editar la configuración predeterminada

Un principio comúnmente aceptado en seguridad informática es usar siempre el menor nivel de privilegio posible para realizar una operación. - esto reduce el riesgo de que algo malo suceda debido a errores en el software o errores del operador.

La configuración predeterminada de Ubuntu va en esta dirección; si estuvieras usando un rootinicio de sesión, en cambio, habrías terminado navegando en Internet, haciendo IRC (y posiblemente todas las otras cosas que uno hace simultáneamente) desde la rootcuenta, exponiendo innecesariamente el sistema a una amenaza.

Actualización: para su ejemplo de compilador, procedería de esta manera:

  1. Inicie sesión en el nodo a través de SSH como su usuario habitual , y desde otro nodo de Ubuntu o GNU / Linux donde tenga una pantalla gráfica X11 ejecutándose. Asegúrese de habilitar el reenvío X11 sobre SSH:

    ssh -X myuser@remotemachine.example.org
    
  2. En el indicador de shell / SSH, emita el comando:

    sudo /path/to/the/compiler/install/program
    

    Esto ejecutará el instalador del compilador con rootprivilegios y accederá (a través del reenvío SSH) a la pantalla gráfica frente a usted.


Okay. Supongamos que estoy usando una máquina Linux (que tiene 10 usuarios conectados mediante masilla). Quiero instalar un software (por ejemplo: un compilador, también necesito establecer variables ambientales para el mismo) como root para que esté disponible para todos los usuarios. Pero el instalador solo funciona con el modo GUI y sin instalador de línea de comandos y solo se ejecutará con el inicio de sesión raíz. ¿Como puedo gestionar la instalación? Encontré esta situación mientras instalaba arm-linux-gcc en mi ubuntu, pero la instalé con éxito en mi máquina fedora (versión RedHat shrike)
Renjith G

@ Renjit G: bueno, esta es una buena pregunta por sí sola, ¿por qué no la preguntas?
Riccardo Murri

1
@ Renjit G: Quise sugerir que hagas una nueva pregunta. Hacer muchas preguntas específicas es mejor que hacer una multifacética, ya que permite respuestas detalladas y precisas. Al editar la pregunta actual, parece que las respuestas que ya recibió solo responden la mitad de su pregunta ...
Riccardo Murri

Gracias Murri. Definitivamente seguiré así solo desde mis próximas publicaciones en adelante.
Renjith G

1
Dado un compilador como ese, creo que la mayoría de nosotros tendría curiosidad sobre qué compilador es. Para cualquier software distribuido a través de fuentes APT o archivos .deb independientes, la instalación a través de la línea de comando usando "sudo" es suficiente (sí, incluso para todos los usuarios). También es posible instalar dichos archivos desde la GUI para todos los usuarios, sin ser root. La solicitud de contraseña de GUI que obtiene es el equivalente de "sudo".
perjudica el

8

El razonamiento detrás del uso de sudo en Ubuntu se puede encontrar aquí . Si alguna vez necesita una forma rápida de "ir a la raíz", uso sudo -so sudo -i.


9
Y para aclarar, creo que sudo -s crea una sesión raíz como usuario, mientras que sudo -i crea una sesión raíz como usuario raíz. La manera fácil de notar la diferencia es emitir el comando, luego hacer un "echo $ HOME" para ver qué entorno se está utilizando. O "cd ~" entonces "pwd" también funcionaría.
Scaine

6

Además de las montañas de advertencias con el uso de root, puede habilitar el inicio de sesión de root iniciando sesión y realizando lo siguiente desde la terminal:

sudo passwd

Primero, le pedirá su contraseña y luego le pedirá que cambie la contraseña de UNIX. La contraseña que ingrese será para la rootcuenta.

El Wiki de Ubuntu tiene un gran artículo sobre la profundidad de las raíces y sudo en Ubuntu - advertencias y peligros.


5

Hay dos preguntas aquí. Una es, ¿por qué el inicio de sesión raíz está deshabilitado de manera predeterminada en Ubuntu? Eso ha sido abordado por varias de las publicaciones aquí.

La segunda pregunta es, ¿por qué los inicios de sesión raíz gráficos son particularmente despreciados?

Todas las desventajas de los inicios de sesión raíz no gráficos se aplican también a los inicios de sesión gráficos de raíz. Pero cuando inicia sesión gráficamente, ejecuta muchos más programas, operando de una manera mucho más compleja, que cuando inicia sesión de forma no gráfica. La interfaz gráfica de usuario completa y todos los programas gráficos necesarios para usar una GUI de manera efectiva se ejecutarían como root. Una pequeña vulnerabilidad de seguridad en cualquiera de ellos permitiría a alguien tomar el control completo sobre su sistema.

No se recomienda iniciar sesión como root en Ubuntu, pero no hay consenso en la comunidad de seguridad de que sea una práctica universalmente mala. Sin embargo, los inicios de sesión raíz gráficos son simplemente una mala práctica, y casi todos los sistemas operativos los han eliminado o recomiendan encarecidamente.

En menor grado, tener un usuario no root (especialmente uno con la capacidad de realizar operaciones como root con sudo o PolicyKit) en un inicio de sesión gráfico presenta riesgos. Pero están mucho más controlados que cuando todo en el entorno gráfico debe ejecutarse como root con capacidades ilimitadas. Aún así, para situaciones en las que la seguridad es primordial, generalmente es aconsejable eliminar por completo las interfaces gráficas, por lo que Ubuntu Server no se envía con una GUI por defecto y recomienda oficialmente no instalar una (aunque es compatible para hacerlo) .

En el mundo de Windows, ahora puede instalar Windows Server de una manera que esencialmente elimina la interfaz gráfica de usuario (técnicamente, quedan algunos elementos, pero está muy despojado y no puede ejecutar programas gráficos arbitrarios). Esto se basa en el mismo razonamiento.

Incluso si decide habilitar los inicios de sesión de root, no inicie sesión gráficamente como root. Habilitar los inicios de sesión de raíz puede ponerlo en un riesgo de seguridad ligeramente mayor; ejecutar un entorno gráfico completo como root lo pone en un riesgo enormemente mayor.

Además, con la excepción de las herramientas de administración gráfica que están diseñadas para ejecutarse como root con gksu / gksudo / kdesudo, la mayoría de los programas gráficos no están diseñados para ejecutarse como root. Debido a que no se prueban exhaustivamente en este modo, pueden fallar o comportarse de manera errática (lo que sería particularmente malo, ya que se ejecutan como root ).

Finalmente, incluso algunas herramientas gráficas de administración, comousers-admin , fallarán si se ejecutan como root, ya que esperan ser ejecutadas por usuarios normales y realizar acciones como root (sin ejecutar realmente como root) usando PolicyKit.


4

Abra Terminal ( Ctrl+ Alt+ To Inicio de tablero> Más aplicaciones> Instalado (expandir)> Terminal).

PARA ACTIVAR LA CUENTA ROOT

En una terminal escriba o pegue sudo passwd root. Ingrese su contraseña de inicio de sesión normal (si se le solicita), se le pedirá que ingrese la nueva rootcontraseña y la confirme.

PARA AGREGAR UN NUEVO INICIO DE INICIO DE SESIÓN QUE LE PERMITA ENTRAR EN LA RAÍZ Y SU CONTRASEÑA

En una terminal escriba o pegue. gksudo gedit /etc/lightdm/lightdm.conf. Esto abre una ventana del editor de texto gráfico donde puede editar el archivo de configuración para la pantalla de inicio de sesión.

Agregue la línea greeter-show-manual-login=trueal final del archivo.

El archivo ahora debería leer lo siguiente:

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true

Guarde el lightdm.confarchivo y salga de gedit.

Reinicie Ubuntu 12.04 y verá una nueva ventana de "Inicio de sesión" (reemplaza la ventana "Otro" anterior) que permite la entrada de Nombre de usuario y Contraseña. Ingrese rootel nombre de usuario y luego ingrese la contraseña que asignó a la cuenta raíz.

Espero que esto ayude a otros que necesitan / quieren rootacceso.


2

En cuanto a Ubuntu 12.04 LTS, puede hacer esto usando el privilegio de root:

echo "greeter-hide-users=true" >> /etc/lightdm/lightdm.conf

Luego se le pide que escriba el nombre de usuario y la contraseña para iniciar sesión gráficamente. Supongo que ya ha establecido la contraseña para root :)

Sé que hay innumerables razones por las que no debe iniciar sesión directamente como root, sin embargo, hay algunos casos raros (por ejemplo, en un cuadro de prueba que se ejecuta en vmware) cuando realmente aprecia la conveniencia de ser root.


1

Porque el usuario root y el Administrador (en Windows) son el equivalente de un Dios a una computadora. Ese usuario puede ajustar cualquier cosa, desde permisos de archivos hasta incluso borrar todo el sistema de archivos. Es bastante común que el usuario doméstico promedio se ejecute como Administrador (ya sea con ese nombre u otro nombre configurado en el primer arranque). Debido a que cualquier programa ejecutado como ese usuario abarca todo el sistema, se vuelve peligroso.

La falta de control sobre los privilegios administrativos permite virus / malware o incluso problemas autodestructivos. Es por esto que muchas distribuciones, incluida Ubuntu, limitaron la transición a la alta potencia en un paso adicional (un paso algo cognitivo que ayuda a insistir en que "cualquier cambio que haga aquí son cambios de mayor alcance").


je je. ... "cualquier cambio que haga aquí tiene un alcance mayor".
fem

1

Aunque no puede iniciar sesión directamente como root (por las razones que otros ya han explicado bien), puede ejecutar aplicaciones GUI como root. Por ejemplo, Sistema → Administración → Synaptic Package Manager es una aplicación gráfica que se ejecuta como root.

Para ejecutar una aplicación como root (ya sea una aplicación de texto o una aplicación GUI), solo use uno de estos comandos:

sudo name-of-the-application
gksu name-of-the-application

Son casi idénticos La principal diferencia es que el primero le pide su contraseña en el terminal, el segundo utiliza una ventana de diálogo gráfico.


1
La diferencia entre sudoy gksues más significativa que donde ingresas tu contraseña. gksuse prefiere para aplicaciones GUI y sudopara la línea de comandos, ver aquí y aquí
Warren Hill

1

Root realmente no se recomienda para el uso normal, pero a veces tiene una larga lista de comandos de terminal que necesitan privilegios de root y es más conveniente iniciar sesión como root. Utilizo sudo xtermo gksu xtermpara abrir un terminal raíz. Creo que es un poco más fácil distinguir qué ventana de términos tiene privilegios de raíz cuando tiene el útil indicador de término "root @".


0

Nota adicional: Ubuntu no permite que los usuarios de la GUI inicien sesión como root porque Ubuntu evita que elimine o elimine accidentalmente archivos importantes con aplicaciones de la GUI (como nautilus).

Con solo la interfaz de usuario CLI, se puede reducir el riesgo de nuestro error. Pero anteriormente no podemos iniciar sesión con root incluso en modo CLI porque Ubuntu crea una contraseña aleatoria para root. La tarea administrativa raíz solo se puede hacer usando la contraseña del usuario con el comando sudo o gksu.

Está basado en la regla de Debian.


¿Qué significa el comando gksu?
Renjith G

1
man gksu: gksu - GTK + frontend para su y sudo
squallbayu

1
Lo siento, de nuevo, no lo suficientemente claro para mí
Renjith G

Quiero decir 'gksu' significa GTK + frontend para su y sudo.
squallbayu

1
sí tienes razón. prueba 'gksu nautilus' en la terminal. Nautilus con privilegios de root aparecerá.
squallbayu

0

Dado que no hay buenas razones para iniciar sesión como root , supongo que la diferencia entre RH (permitir el inicio de sesión root) y ubuntu (hacer todo con sudo / gksu) es una cuestión de preferencia.

En cuanto a la otra parte de su pregunta, debería poder ejecutar su instalación gráfica iniciando sesión como usuario normal, presionando ALT-F2e ingresando gksu. En el cuadro de diálogo resultante, simplemente ingrese el comando que inicia su instalador.


0

La raíz no se recomienda para la tarea diaria del día a día. Como proporciona los previleges de superusuario, puede ser mal utilizado. Por lo tanto, no hay opción para root al iniciar sesión.


0

Siempre debe iniciar sesión como usted mismo y luego sudo para realizar acciones como root. Ubuntu está configurado para permitirle la mayoría de los accesos necesarios de forma predeterminada. Los cambios menores se encargarán del resto (como agregar su usado a otros grupos). Se considera una mala práctica iniciar sesión como root. La mejor práctica de la industria es la configuración predeterminada aquí.

Alguien capaz de iniciar sesión como root puede ser algo muy malo desde una perspectiva de seguridad.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.