Назад | Перейти на главную страницу

Смена владельца файлов / каталогов, созданных / загруженных через ftp автоматически и сразу после их создания

Я хочу, чтобы права собственности пользователя и группы на файлы / каталоги, загруженные / созданные через ftp, автоматически устанавливались для некоторых пользователей и групп по моему выбору. Пока я думаю, что это невозможно (я использую vsftp на Ubuntu). Insights?

Вы можете использовать липкий бит в каталоге, который влияет на владение вновь созданными файлами и каталогами. И в сочетании с umask, который создаст новые файлы с определенными разрешениями.

Обновление после комментария:

Групповой бит закрепления в каталоге перезапишет групповое владение вновь созданными файлами в этом каталоге, независимо от того, в какой группе находится пользователь, создавший этот файл. Umask может изменять разрешения при создании.

Классическое использование этой комбинации - когда у вас есть «общедоступный» каталог, где каждый пользователь может создавать / обновлять / удалять каждый файл. Таким образом, пользователи должны находиться в одной группе («пользователи»), а права группы должны иметь «rw» для файлов и «rwx» для каталогов. В этом случае вы установите для родительского каталога липкий бит для группы и измените группу на «пользователи». Затем вы должны установить umask в системе, через которую будут загружаться файлы (FTP, Samba, ...). Эта umask должна создавать файлы с правами 660 и каталоги с правами 2770.

Другое использование - FTP. Пользователь должен иметь полный доступ к файлам через FTP, а веб-сервер должен иметь доступ для чтения и даже записи к некоторым файлам. В этом случае вы установите групповой липкий бит в корне документа этой сети и измените группу на www-data (для Apache). Затем измените права доступа на 640 для файлов и 2750 для каталогов. Для каталогов, где www-данным требуется доступ на запись, права будут равны 2770. На FTP-сервере установите umask для создания файлов и каталогов с указанием прав. Результат? Загруженные файлы будут иметь владельца данного пользователя, группы www-данных и минимально необходимые права.

Я не уверен, каков именно ваш вариант использования, но смена владельца не должна быть необходимой, и мне лично нравится знать, кто создал этот файл (владелец может изменить его, но сколько пользователей знают, как это сделать?)