Permisos predeterminados de VSFTPD para archivos nuevos frente a directorios nuevos

Permisos predeterminados de VSFTPD para archivos nuevos frente a directorios nuevos

Estoy corriendo vsftpdy tengo una pregunta específica:

Las opciones file_open_modey local_umaskme permiten configurar qué permisos debe tener un archivo/carpeta recién creado.

El problema: Quiero 0660 para archivos nuevos pero 0770 para carpetas nuevas (todos los archivos y carpetas deben poder ser leídos y escritos por el propietario y el grupo; las carpetas necesitan el executablebit para que sea posible abrirlas)

¿Cómo puedo configurar eso?

(Busqué en este foro, google, página vsftpd.man, tutoriales, manuales...)

Respuesta1

TL;DR:

El valor predeterminado file_open_modede 0666y local_umaskde 0007le otorgará permisos de archivo 0660y permisos de directorio de 0770.

Permisos de archivos

Como ya señaló, los archivos se crean con los permisos establecidos file_open_mode(modificados por local_umask). Por lo tanto, para obtener archivos creados, 0660puede mantener el valor predeterminado file_open_modey modificarlo con local_umaskpara 0007obtener 0660el resultado.

permisos de directorio

Los directorios se crean con el modo 0777modificado por local_umask. La única documentación de respaldo que encontré sobre esto está en el código fuente. Como no hay ningún código fuente oficial legible por navegador disponible, sólo puedo vincular a un espejo de código fuente no oficial enhttps://github.com/dagwieers/vsftpd/blob/3.0.2/postlogin.c#L1179donde la "umask ajustable" en el comentario se refiere a la local_umaskconfiguración.

  /* NOTE! Actual permissions will be governed by the tunable umask */
  retval = str_mkdir(&p_sess->ftp_arg_str, 0777);

información relacionada