Primero, no hay "ACL estándar de Linux". Los permisos de archivo predeterminados pueden variar según el sistema y la distribución; La mayoría de las distribuciones de parecen tener permisos predeterminados de 644
o 664
, pero eso no es inherente al kernel de Linux, y el umask
apropiado depende del sistema.
Más ampliamente: si los archivos se pueden leer de forma predeterminada en todo el mundo es un defecto de seguridad o no depende en gran medida de las amenazas específicas que le preocupan. Si los permisos predeterminados son legibles en todo el mundo, eso significa que todos los usuarios del sistema pueden leer archivos que no están marcados como privados. Eso no es necesariamente un error: en un entorno multiusuario, usted podría declarar de forma plausible que los usuarios normalmente compartirán archivos, y proporcionar un directorio ~/private/
por defecto para los archivos que no quieren compartido; De forma predeterminada, las personas pueden leer cualquier cosa directamente en el directorio de inicio, pero compartir en la otra cara es más fácil. Hay una compensación, que a menudo vale la pena hacer.
Además, los permisos predeterminados en archivos no cambian por carpeta. Si los usuarios desean mantener algunas cosas en privado y compartir otras, y no quieren chmod
muchas cosas, tienes para establecer los permisos predeterminados permisivos. Luego, creas que ciertas carpetas que tienen material privado tienen permisos más restrictivos. No puedes hacer lo contrario; Si desea hacer posible que alguien tenga un directorio Public
sin aprender chmod
, básicamente tiene para implementarlo de esta manera. Es realmente fácil restringir el acceso a un archivo más allá de lo que está en sus permisos; No es posible otorgar el acceso más allá de sus permisos (tiene que cambiar los permisos).
Eso se debe a que estás equivocado cuando dices que un directorio de inicio 0700
no asegura nada. El acceso de una carpeta x
bit controla dentro del directorio. Si un usuario no tiene permiso de ejecución en /example/directory/
, no podrá acceder a nada dentro de /example/directory/
. Incluso si saben que /example/directory/a
es un archivo. Incluso si tienen permisos de lectura en ese archivo. Incluso si poseen ese archivo: no puede acceder a un archivo a menos que no solo tenga los permisos en ese archivo, sino que también tenga permisos de ejecución en todos directorios principales de ese archivo. La implicación es que puede asegurar un subdirectorio mucho más fácilmente de lo que puede hacer uno especialmente abierto.
En su caso, el directorio Documents
es 700
; Probablemente los otros directorios "fáciles de usar" (este es un término horrible para él, pero me refiero a cosas como Documents
, Desktop
, Downloads
, Music
, etc. utilizar para mantener sus archivos normales) son también. Siempre que almacene sus documentos allí y no en los subdirectorios personalizados de su directorio de inicio (o directamente en su directorio de inicio), nadie más tiene acceso. Su directorio de inicio está destinado a contener principalmente archivos de configuración que se espera que estén allí; la mayoría de los archivos personales están destinados a ir en un subdirectorio predeterminado (seguro). Si almacena cosas directamente en un directorio de inicio, son visibles, pero eso no es lo que su sistema operativo le está impulsando a hacer. Si crea un nuevo subdirectorio de ~
y lo quiere privado, establezca sus permisos en 700
; si lo quiere público, configúrelo en 755
(si desea que las personas puedan acceder a los archivos solo si conocen el nombre, 711
). Pero la expectativa es que tus cosas privadas no vayan directamente en ~
, y que los lugares a los que vayan tus documentos ya estén asegurados.