¿Por qué pueden 'Otros' leer archivos de forma predeterminada en Ubuntu?

6

Estoy tratando de averiguar por qué al crear nuevos archivos y directorios en, digamos, la carpeta Documents , se asignan, de forma predeterminada, los siguientes permisos:

-rw-rw-r-- 1 hello world    0 Nov 19 12:17 'New Empty File'
drwxrwxr-x 2 hello world 4.0K Nov 19 12:16 'New Folder'/

¿No debería 'Otros' no tener acceso a mis archivos? Por lo que he leído, Ubuntu es por defecto bastante seguro. Sin embargo, en ninguna parte podría encontrar una racionalización para este comportamiento. Agradecería una respuesta :)

    
pregunta wombat trash 19.11.2018 - 12:21
fuente

2 respuestas

15

El modelo de permisos de Linux significa que, incluso si usted es el único usuario de su computadora, no es el único usuario en el sistema. Muchos servicios crearán su propia cuenta de usuario para ejecutar, por ejemplo, Apache generalmente se ejecutará bajo su propia cuenta dedicada.

Lo que también notará es que su carpeta de inicio generalmente solo es accesible a su propia cuenta, es decir, los permisos 700 o drwx------ . Eso significa que solo usted puede acceder a su carpeta de inicio, incluso si las subcarpetas dentro de esa carpeta tienen acceso completo.

Esta combinación proporciona un balance útil. Los permisos predeterminados permiten que las cuentas de servicio lean cualquier archivo en el sistema que puedan necesitar, pero no pueden cambiar nada. Cualquier archivo que sea personal para usted debe estar en su carpeta de inicio, por lo que un servicio no autorizado no podrá acceder a ellos.

Puede encontrar Estándar de Jerarquía del Sistema de Archivos una lectura útil. Esto describe los permisos y funciones generalmente esperados para sistemas Unix / Linux, y la mayoría de las distribuciones cumplirán con esto.

    
respondido por el timbstoke 19.11.2018 - 12:47
fuente
1

Cuando crea nuevos archivos y directorios, los permisos iniciales son controlados por su configuración umask . La aplicación que crea el elemento especifica los permisos máximos (por lo general, rwxrwxrwx para directorios y archivos ejecutables, rw-rw-rw- para archivos de datos), y luego los permisos en umask se restan de esto.

Entonces, si desea permisos más restrictivos, debe configurar su umask para eliminar los permisos que no desea otorgar. Los permisos que muestra provienen de tener umask 002 , por lo que simplemente deshabilita other=write . Si también desea deshabilitar other=read/execute , debe usar:

umask 007

Tradicionalmente, el umask 002 predeterminado proviene del supuesto de que todos los usuarios de un sistema en particular serían una comunidad colaboradora (por ejemplo, programadores en el mismo departamento de una organización), por lo que hay pocas razones para evitar que otros usuarios lean su Archivos en general. Si tienes archivos específicos que son más privados, les darías permisos más restrictivos. Si la suposición anterior es inapropiada para los usuarios de su sistema, debe usar una función umask predeterminada diferente en los scripts de inicio de shell.

    
respondido por el Barmar 19.11.2018 - 18:48
fuente

Lea otras preguntas en las etiquetas