¿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?
¿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?
Respuestas:
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 command
o gksu command
ejecutar command
como superusuario, ambos funcionan con utilidades gráficas y de línea de comandos. sudo
sin embargo, generalmente se usa para CLI y gksu
es la solicitud de contraseña gráfica que hace lo mismo.
Hasta cierto punto, te permiten convertirte root
temporalmente, mucho, mucho mejor que correr como root constantemente y arriesgar la inestabilidad.
En Ubuntu estándar, los root
inicios 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 root
operaciones (es decir, administrador), debe usar el sudo
comando 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 root
operaciones es inherentemente riesgoso y la cantidad de operaciones que realmente requieren root
privilegios es relativamente pequeña: al usar este sudo
enfoque, 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 root
poderes 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 root
poderes! Al final, solo necesita acceso privilegiado para dos operaciones:
sudo apt-get install ...
) yUn 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 root
inicio 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 root
cuenta, exponiendo innecesariamente el sistema a una amenaza.
Actualización: para su ejemplo de compilador, procedería de esta manera:
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
En el indicador de shell / SSH, emita el comando:
sudo /path/to/the/compiler/install/program
Esto ejecutará el instalador del compilador con root
privilegios y accederá (a través del reenvío SSH) a la pantalla gráfica frente a usted.
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 -s
o sudo -i
.
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 root
cuenta.
El Wiki de Ubuntu tiene un gran artículo sobre la profundidad de las raíces y sudo en Ubuntu - advertencias y peligros.
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.
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 root
contraseñ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=true
al 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.conf
archivo 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 root
el 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 root
acceso.
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.
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").
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.
sudo
y gksu
es más significativa que donde ingresas tu contraseña. gksu
se prefiere para aplicaciones GUI y sudo
para la línea de comandos, ver aquí y aquí
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 xterm
o gksu xterm
para 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 @".
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.
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-F2
e ingresando gksu
. En el cuadro de diálogo resultante, simplemente ingrese el comando que inicia su instalador.
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.