¿Qué tiene de especial el permiso de Linux 004?

23

Estaba leyendo Practical Unix e Internet Security , cuando me encontré con las siguientes líneas que no podía comprender.

Si está utilizando el servidor de archivos wu, puede configurarlo de tal manera que los archivos cargados se carguen en modo 004 , de modo que otro cliente no pueda descargarlos . Esto proporciona una mejor protección que simplemente hacer que el directorio sea ilegible , ya que evita que las personas carguen archivos y luego les digan a sus amigos el nombre de archivo exacto para descargar.

Un permiso de 004 corresponde a -------r--. ¿No se puede descargar un archivo si tiene acceso de lectura? Además, ¿por qué se considera mejor que simplemente hacer que el directorio no sea legible? ¿Qué implica esto?

Nota: Esto se refiere a usuarios no autorizados que dejan material ilegal y con derechos de autor en servidores que utilizan FTP anónimo. Se sugirió la solución anterior para evitar esto junto con un script que elimina el contenido del directorio después de un período de tiempo.

Aswin PJ
fuente
Específicamente, parece que hace referencia a WU-FTP , de wuarchive.wustl.edu fama.
Parthian Shot
2
¡aquí se entiende UMASK 004 y no es un permiso!
Afsin Toparlak
3
@AfsinToparlak no, este es definitivamente un permiso positivo, no una máscara de usuario. Ver la respuesta aceptada.
o11c
"No se puede descargar un archivo si tiene acceso de lectura" Eso no es del todo correcto. Todos, excepto el usuario y el grupo propietario del archivo, tienen acceso de lectura.
scai
1
Con respecto a " Esto proporciona una mejor protección que simplemente hacer que el directorio sea ilegible, ya que evita que las personas carguen archivos y luego les digan a sus amigos el nombre de archivo exacto para descargar " ... un truco anterior era hacer un área de carga algo así como 333( o d-wx-wx-wx) que permite a las personas (usuarios de FTP) crear archivos, pero debido a que no hay permiso de lectura [en el directorio], no pudieron incluir los archivos en el directorio de carga. Sin embargo, si conocía el nombre, podría leer / descargar los archivos.
TripeHound

Respuestas:

33

Los permisos 004 (------ r--) significan que el archivo solo puede leerse mediante procesos que no se ejecutan como el mismo usuario o el mismo grupo que el servidor FTP. Esto es bastante inusual: generalmente el usuario tiene más derechos que el grupo y el grupo tiene más derechos que otros. Normalmente, el usuario puede cambiar los permisos, por lo que no tiene sentido otorgar permisos más restrictivos al usuario. Tiene sentido aquí porque el servidor FTP (presumiblemente) no tiene un comando para cambiar los permisos, por lo que los archivos conservarán sus permisos hasta que algo más los cambie.

Dado que el usuario que ejecuta el servidor FTP no puede leer los archivos, las personas no podrán descargar el archivo. Eso hace que sea imposible usar el servidor FTP para compartir archivos.

Presumiblemente, algún proceso que se ejecuta como un usuario y grupo diferente lee el archivo en algún momento, verifica que cumple con alguna política, copia los datos si lo hace y elimina el archivo cargado.

Habría tenido más sentido para mí otorgar los permisos de archivo 040 (legibles solo por el grupo) y hacer que el proceso del consumidor se ejecute como el mismo grupo que el servidor FTP, pero con un usuario diferente.

Gilles 'SO- deja de ser malvado'
fuente
1
@Cthulhu: El proceso del servidor FTP también pertenece a "todos". Pero los permisos de UNIX no se buscan. Solo se considera un triplete de derechos, y esta es una verificación de aprobación / reprobación. (A diferencia de las ACL de Windows que tienen aprobación / falla / mira más)
MSalters
8

La máscara de permisos octales 004corresponde a una máscara de permisos simbólicos, lo u=,g=,o=rque significa que el (u)serpropietario del archivo no puede leerlo, escribirlo o ejecutarlo, y tampoco pueden otros usuarios en el mismo sentido (g)roupque el usuario propietario del archivo. Solo los (o)therusuarios que no son propietarios ni están en el mismo grupo que el propietario pueden leer el archivo.

Godlygeek
fuente
1
¡aquí se entiende UMASK 004 y no es un permiso!
Afsin Toparlak
44
@AfsinToparlak: no, es un permiso explícito . Ver respuesta aceptada.
TripeHound
6

Sí, pero el archivo es propiedad del usuario. Por lo tanto, el cliente tiene el permiso 0 (usuario) en el archivo y no puede leerlo.

Puedes probar esto tú mismo:

echo TEST > myTestFile;
chmod 004 myTestFile;
cat myTestFile;
chmod 700 myTestFile;
cat myTestFile;

El tercer paso generará un error.

Jodka Lemon
fuente
Entonces, cuando se carga un archivo, solo ese usuario obtiene el permiso de lectura para el archivo y todos los demás obtienen 000. ¿Estoy en lo correcto? ¿Puedes por favor ampliar tu respuesta?
Aswin PJ
1
Encontré el libro y el capítulo trata sobre la seguridad de un directorio público que se puede escribir para clientes ftp anónimos. Cualquier cliente anónimo abre el archivo con el mismo uid que cualquier otro cliente anónimo, por lo que un archivo creado puede ser creado por anónimo pero no puede ser leído por anónimo. Es legible por cualquier otro uid en el sistema.
Jodka Lemon
@hope: cada dígito en una cadena octal de permiso representa 4 bits: set-id, read, write y exec, en ese orden. Por lo tanto, 7 significa que los bits de lectura, escritura y ejecución están configurados. El primer dígito es el permiso para el propietario, etc. Por lo tanto, no tiene sentido decir que otros lo obtienen 000. Otro se pone justo 0. La respuesta de Gilles es la mejor explicación de lo que 004realmente hace una configuración de permisos .
Peter Cordes
El tercer paso es escribir, no leer.
Deja de dañar a Monica el
@OrangeDog Tienes razón. Lo corregí
Jodka Lemon
-1

Parece más probable que signifique que 004 enmascara cualquier permiso, es decir, otros usuarios no pueden leer el archivo. Esto serviría para proteger el archivo de otros usuarios en el sistema (hasta cierto punto).

Nathan Ringo
fuente
No, como otros han explicado, el servidor ftp establece los permisos para 004que el usuario que lo cargó y cualquier otro usuario de ftp (al menos anónimo) no pueda acceder al archivo hasta que se haya verificado (cuando se volvería a autorizar y probablemente movido / renombrado a un lugar apropiado). Los lugares como WU Archive se usaban (mal) a menudo en el pasado oscuro y distante como sitios para compartir archivos si no se implementaban cosas como esta.
TripeHound