Разрешения VSFTPD по умолчанию для новых файлов и новых каталогов

Разрешения VSFTPD по умолчанию для новых файлов и новых каталогов

Я бегу vsftpdи у меня есть конкретный вопрос:

Параметры file_open_modeи local_umaskпозволяют мне настроить, какие разрешения должны быть у вновь созданного файла/папки.

Проблема: Мне нужен бит 0660 для новых файлов, но 0770 для новых папок (все файлы и папки должны быть доступны для чтения и записи владельцу и группе — папкам нужен бит, executableчтобы их можно было открыть)

Как это настроить?

(Я искал на этом форуме, в Google, на странице vsftpd.man, в учебных пособиях, руководствах...)

решение1

TL;DR:

Значения file_open_modeпо умолчанию 0666и дадут вам права доступа к файлам и права доступа к каталогам .local_umask000706600770

Разрешения для файлов

Как вы уже отметили, файлы создаются с разрешениями, установленными в file_open_mode(измененными с помощью local_umask). Поэтому, чтобы получить файлы, созданные с помощью , 0660вы можете сохранить значение по умолчанию file_open_modeи изменить его с помощью , local_umaskчтобы 0007получить 0660в качестве результата.

Разрешения для каталога

Каталоги создаются с 0777измененным режимом local_umask. Единственная подтверждающая документация, которую я нашел по этому поводу, находится в самом исходном коде. Поскольку официального исходного кода, читаемого браузером, нет, я могу только сослаться на неофициальное зеркало исходного кода наhttps://github.com/dagwieers/vsftpd/blob/3.0.2/postlogin.c#L1179где «настраиваемая umask» в комментарии относится к local_umaskконфигурации.

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

Связанный контент