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

ftp upload / как изменить права доступа / владельца «автоматически»?

У меня работает сервер vsftp. Вот что я хочу сделать:

2 разработчикам предоставляется доступ через ftp-клиент к веб-каталогу. Они пишут файлы, которые хотят. Затем они обновляют страницы (F5), и веб-сервер предоставляет им новые страницы.

Вот что я сделал:

  1. Создайте группу (назовите ее
    allaccessgroup
    ).
  2. Создайте
    user1
    который принадлежит к этой группе и
    user2
    который также принадлежит к этой группе
  3. создать каталог
    /var/www/newsite
  4. chgrp allaccessgroup /var/www/newsite
  5. chown apache /var/www/newsite
  6. chmod 570 /var/www/newsite

Таким образом: apache может читать и только прочтите файлы php, и всем пользователям user1 и user2 даны права делать то, что они хотят.

Проблема в том, что я хочу, чтобы user1 и user2 загружали свои файлы. Когда они загружаются, разрешения для файлов - allaccessgroup / user1 или allaccessgroup / user2, и мне нужны разрешения allaccessgroup / apache.

Я ищу способ автоматически менять принадлежность, как только файлы будут загружены. Я читал такие вещи: создайте файл php, затем вызовите его после завершения загрузки:

$complete = $complete.exec("ssh root@host -i /path/to/pulic/key chmod 0700 /Users/".$shortname."/Private/\n");

Мне не нравится называть "exec", это означало бы предоставить доступ "exec" к php ... Любая другая идея приветствуется!

Кстати :

Я искал файл конфигурации vsftp:

chown_uploads = ДА chown_username = apache

но это для того, чтобы загруженные анонимные файлы принадлежали другому пользователю, а не конкретному пользователю

Любая другая идея приветствуется!

Спасибо !

Взгляните на local_umask директива внутри vsftpd.conf

Другой вариант - посмотреть на липкие биты, если они принадлежат к одной группе, но не являются их основной группой. chmod g + s / var / www / newsite Таким образом, все новые файлы, созданные в каталоге, будут принадлежать группе родителей. Не проверял подкаталоги, но вы можете это проверить.

file_open_mode = Разрешения, с которыми создаются загруженные файлы. Umasks применяются поверх этого значения. Вы можете изменить на 0777, если хотите, чтобы загруженные файлы были исполняемыми.

Default: 0666 

Это немного оффтоп, но VSFTP поставляется с включенным анонимным пользователем, просто чтобы вы знали.

http://www.standalone-sysadmin.com/blog/2008/11/default-vsftpd-on-centos-is-dumb/

Просто сообщаю вам, если вы это не тестировали.