Настройте vsftpd для добавления загруженных файлов

Я установил vsftpd на моем сервере Ubuntu. Это сервер разработки, и я хочу иметь возможность передавать свой код по FTP прямо в каталог, который выдает Apache.

Как многие из вас знают, www-data - это пользователь Apache, а пользователю www-data необходимо иметь права доступа к каталогу, который выдает Apache.

Я также не хотел делать www-данные пользователем FTP, поэтому вместо этого я создал другого пользователя для использования с FTP и поместил оба www-data и нового пользователя в новую группу под названием www.

Я сделал chown -R www-data:www * для каталога, который обслуживает Apache, и он работает в основном нормально.

Проблема возникает, когда я загружаю по FTP файл, который ранее не существовал в этом каталоге. Владелец настроен на моего пользователя FTP. Я хочу, чтобы владелец получил значение www-data, а группа - www, когда будет загружен новый файл.

Есть ли способ сделать это с помощью vsftpd?

Я неистово гуглил в течение нескольких часов, но я не могу найти способ сделать это. Любая помощь будет принята с благодарностью.

Редактировать:

Я просто настроил пару заданий cron для запуска каждую минуту и ​​установил права доступа:

*/1 * * * * chown -R www-data:www /var/www

*/1 * * * * chmod -R g+rw /var/www

Это работает, но это немного неуклюже, и между загрузкой нового кода и его работой, когда я нажимаю F5 в моем браузере, задержка составляет ~ 1 минуту.

5
задан 17 February 2013 в 06:31

1 ответ

Читать man 2 chmod, особенно часть, которая говорит:

   S_ISGID  (02000)  set-group-ID (set process effective group ID on execve(2); mandatory locking, as described in  fcntl(2);  take  a
                     new file's group from parent directory, as described in chown(2) and mkdir(2))

Вы могли, вероятно, использовать это для создания всех файлов созданными в каталоге в www группа и изменение Ваш веб-сервер umask значение к 022

Чтобы сделать это безопасно, считайте и перечитайте man 2 chmod, man 2 open, man 2 stat и что-либо указало в Видении Также: разделы. Изучите, как Linux имеет дело с файлом и полномочиями каталога для забавы и/или прибыли!

Или, Вы могли установить inoticoming - trigger actions when files hit an incoming directory, и сделайте свою вещь каждый раз, когда файл совершает нападки.

-1
ответ дан 17 February 2013 в 06:31

Другие вопросы по тегам:

Похожие вопросы: