Estoy corriendo vsftpd
y tengo una pregunta específica:
Las opciones file_open_mode
y local_umask
me 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 executable
bit 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_mode
de 0666
y local_umask
de 0007
le otorgará permisos de archivo 0660
y 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, 0660
puede mantener el valor predeterminado file_open_mode
y modificarlo con local_umask
para 0007
obtener 0660
el resultado.
permisos de directorio
Los directorios se crean con el modo 0777
modificado 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_umask
configuración.
/* NOTE! Actual permissions will be governed by the tunable umask */
retval = str_mkdir(&p_sess->ftp_arg_str, 0777);