Unix no es realmente un sistema de escritorio. Es un sistema que se ejecuta en una computadora grande que cuesta aproximadamente tanto como una casa ubicada en algún lugar del sótano de su universidad. Usted, como alguien que no puede costear su propia computadora, tiene que compartirla con otras dos mil personas, y con varias docenas de usuarios simultáneamente, para el caso.
Incidencialmente, en la actualidad también puede también ejecutar un sistema similar a Unix en su computadora de escritorio o en una SoC del tamaño de una tarjeta de crédito que cuesta $ 20.
En principio, sin embargo, Unix no está diseñado para usuarios individuales. El único usuario no es importante. Lo que está en su directorio personal es su problema, pero lo que root
puede hacer es el problema de todos. Por lo tanto, solo las pocas tareas que realmente requieren que trabaje como root
se deben hacer con ese usuario, y preferiblemente (para limitar la ventana de tiempo durante la cual puede causar daño) no al iniciar sesión con esa cuenta, sino explícitamente usando sudo
para los comandos individuales que lo requieren. También hay mucha religión en eso, por lo que algunos distribuidores son tan arrogantes que te amenazan cuando escribes su
en lugar de sudo
para cada uno de los 10 diferentes comandos apt
que tienes que ejecutar Para instalar alguna cosa mezquina. Este incidente será reportado , bueno, te diré qué, jodas tu informe. Algunas personas realmente saben cómo molestar a los demás.
Para que puedas borrar todas tus fotos personales sin ser root
. Está bien. El malware puede borrar todas las cosas en su directorio de inicio, eso es correcto. Puede negar el servicio llenando su disco hasta que se alcance su cuota de usuario, eso es correcto. Pero desde el punto de vista del sistema, ese es solo tu problema, y a nadie más le importa. Ningún otro usuario está (en principio) afectado.
Ahora, el problema con un sistema de usuario único (o pocos) moderno es que el modelo de seguridad lógica bivalente es bastante inaplicable, al igual que la idea de "hay cientos de usuarios".
Desafortunadamente, es muy difícil encontrar algo mejor. Mire a Windows si desea ver cómo no robar una idea (realmente lograron empeorar un mal enfoque).
Algunos navegadores web y sistemas operativos de teléfono (o TV inteligente) intentan (y fallan) proporcionar algo mejor, y el Linux moderno también tiene un sistema más detallado (pero no sabría cómo configurarlo correctamente) sin pasar semanas de mi tiempo).
El problema es que el modelo de seguridad bivalente asume que las aplicaciones normales no requieren ningún privilegio (lo cual es incorrecto porque algunas cosas que en su mayoría son inofensivas sí requieren privilegios) mientras que las aplicaciones no normales requieren acceso completo al sistema informático (que también es mal, casi ningún programa necesita acceso completo, nunca).
Por otra parte, incluso los modelos de seguridad más finos (que aún son bastante toscos) suponen erróneamente que si una aplicación solicita un conjunto de privilegios, realmente necesita ese conjunto completo y el usuario se siente cómodo con otorgarlo.
Según mi conocimiento, no hay ningún sistema en el que una aplicación pueda solicitar los privilegios A, B y C, y el usuario puede aceptar otorgar A (pero no B y C), y la aplicación puede consultar qué privilegios se le dio y decidir si es capaz de realizar la tarea solicitada o no.
Por lo tanto, generalmente tiene la opción de otorgar la aplicación XYZ "almacenar datos en almacén permanente" (con lo que quizás esté de acuerdo) y también permitir "acceder a mi ubicación" y "acceder a mi datos personales "o" instalar el controlador del sistema "(con lo que no está de acuerdo), o bien, no puede ejecutar el programa.
O bien, puede permitir que el programa XYZ "realice cambios en su computadora", lo que sea que eso signifique, o puede elegir no ejecutarlo. Y, tienes que confirmarlo de nuevo cada vez. Lo cual, ser honesto, realmente apesta desde la perspectiva del usuario.