Por qué no debería iniciar sesión en su sistema Linux como raíz
En Linux, el usuario raíz 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 debería iniciar sesión como root en Linux por la misma razón que no debería deshabilitar UAC en Windows.
¿Por qué Ubuntu usa Sudo?
Desalentar a los usuarios para 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 de inicio de sesión gráfica y obtener un escritorio de root, aunque muchas aplicaciones pueden quejarse (e incluso rechazar su ejecución como root, como lo hace VLC). Los usuarios que vienen de Windows a veces deciden iniciar sesión como root, al igual que usaron la cuenta de Administrador en Windows XP.
Con sudo, ejecuta un comando específico (prefijado por 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 de salir (esperemos) del shell raíz. Sudo ayuda a aplicar 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.
Limitar 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 puedes 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 malintencionada podría escribir en todos los archivos de su sistema, leer los archivos en las carpetas principales de otras cuentas de usuario y reemplazar los comandos del sistema por comprometidos unos En cambio, si ha iniciado sesión como una cuenta de usuario limitada, la página web malintencionada no podría hacer nada de eso, solo podría infligir 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 protegerlo contra aplicaciones malintencionadas o simplemente con errores. Por ejemplo, si ejecuta una aplicación que decide eliminar todos los archivos a los que tiene acceso (tal vez contenga un error desagradable), la aplicación borrará nuestra carpeta de inicio. Esto es malo, pero si tienes copias de seguridad (¡lo que deberías!), Es bastante fácil restaurar los archivos en tu carpeta de inicio. Sin embargo, si la aplicación tuviera acceso de root, podría eliminar todos los archivos de su disco duro, lo que requeriría una reinstalación completa.
Permisos de grano fino
Mientras que las distribuciones de Linux más antiguas ejecutaban programas completos de administración del sistema como root, los escritorios modernos de Linux usan PolicyKit para un control aún más preciso 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 de la cuenta de usuario limitada, solo la parte del programa que instaló el software recibiría permisos elevados, y esa parte del programa solo podría instalar el software.
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 total a la raíz, lo que facilita su 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 está No es una buena idea. Incluso si sabe lo que está haciendo, el sistema no está diseñado para ejecutarse como root, sino que está omitiendo gran parte de la arquitectura de seguridad que hace que Linux sea tan seguro..