Por qué no debería iniciar sesión en su sistema Linux como root

imagen

En Linux, el usuario root es equivalente al usuario administrador en Windows. Sin embargo, aunque Windows ha tenido durante mucho tiempo una cultura de usuarios promedio que inician sesión como administrador, no debe iniciar sesión como root en Linux.

Microsoft intentó mejorar las prácticas de seguridad de Windows con UAC; no debe iniciar sesión como root en Linux por la misma razón por la que no debe deshabilitar UAC en Windows .

Por qué Ubuntu usa Sudo

Disuadir a los usuarios de que se ejecuten como root es una de las razones por las que Ubuntu usa sudo en lugar de su . De forma predeterminada, la contraseña de root está bloqueada en Ubuntu, por lo que los usuarios promedio no pueden iniciar sesión como root sin tener que volver a habilitar la cuenta de root.

En otras distribuciones de Linux, históricamente ha sido posible iniciar sesión como root desde la pantalla gráfica de inicio de sesión y obtener un escritorio root, aunque muchas aplicaciones pueden quejarse (e incluso negarse a ejecutarse como root, como lo hace VLC). Los usuarios que venían de Windows a veces decidían iniciar sesión como root, al igual que usaban la cuenta de administrador en Windows XP.

imagen

Con sudo, ejecuta un comando específico (con el prefijo sudo) que obtiene privilegios de root. Con su, usaría el comando su para obtener un shell raíz, donde ejecutaría el comando que desea usar antes (con suerte) de salir del shell raíz. Sudo ayuda a hacer cumplir las mejores prácticas, ejecutando solo comandos que deben ejecutarse como root (como los comandos de instalación de software) sin dejarlo en un shell de root donde puede permanecer conectado o ejecutar otras aplicaciones como root.

imagen

Limitando el daño

Cuando inicia sesión como su propia cuenta de usuario, los programas que ejecuta no pueden escribir en el resto del sistema; solo pueden escribir en su carpeta de inicio. No puede modificar los archivos del sistema sin obtener permisos de root. Esto ayuda a mantener su computadora segura. Por ejemplo, si el navegador Firefox tenía un agujero de seguridad y lo estaba ejecutando como root, una página web maliciosa podría escribir en todos los archivos de su sistema, leer archivos en las carpetas de inicio de otras cuentas de usuario y reemplazar los comandos del sistema con comprometidos. unos. Por el contrario, si ha iniciado sesión como una cuenta de usuario limitada, la página web maliciosa no podría hacer ninguna de esas cosas; solo podría causar daños en su carpeta de inicio. Si bien esto aún podría causar problemas, es mucho mejor que tener todo el sistema comprometido.

Esto también ayuda a protegerte contra aplicaciones maliciosas o simplemente con errores. Por ejemplo, si ejecuta una aplicación que decide eliminar todos los archivos a los que tiene acceso (quizás contenga un error desagradable), la aplicación borrará nuestra carpeta de inicio. Esto es malo, pero si tiene copias de seguridad (¡lo cual debería!), Es bastante fácil restaurar los archivos en su carpeta de inicio. Sin embargo, si la aplicación tuviera acceso de root, podría eliminar todos y cada uno de los archivos de su disco duro, lo que requeriría una reinstalación completa.

imagen

Permisos detallados

Mientras que las distribuciones de Linux más antiguas ejecutaban programas de administración del sistema completo como root, los escritorios de Linux modernos usan PolicyKit para un control aún más detallado de los permisos que recibe una aplicación.

Por ejemplo, a una aplicación de administración de software solo se le puede otorgar permiso para instalar software en su sistema a través de PolicyKit. La interfaz del programa se ejecutaría con los permisos limitados de la cuenta de usuario, solo la parte del programa que instaló el software recibiría permisos elevados, y esa parte del programa solo podría instalar software.

imagen

El programa no tendría acceso de root completo a todo su sistema, lo que podría protegerlo si se encuentra un agujero de seguridad en la aplicación. PolicyKit también permite que las cuentas de usuario limitadas realicen algunos cambios en la administración del sistema sin obtener acceso completo a la raíz, lo que facilita la ejecución como una cuenta de usuario limitada con menos complicaciones.


Linux le permitirá iniciar sesión en un escritorio gráfico como root, al igual que le permitirá eliminar cada archivo en su disco duro mientras su sistema está funcionando o escribir ruido aleatorio directamente en su disco duro, borrando su sistema de archivos, pero no lo es. no es una buena idea. Incluso si sabe lo que está haciendo, el sistema no está diseñado para ejecutarse como root; está omitiendo gran parte de la arquitectura de seguridad que hace que Linux sea tan seguro.