Настройка разрешений VSFTPD с сервером Apache

8

У меня есть виртуальная машина под управлением Ubuntu 10.10. Я использую NetBeans и загружаю файлы на FTP на виртуальной машине. Я использую vsftpd.

У меня проблема в том, что владелец папки /var/www- это пользователь, apacheчтобы сервер apache мог читать файлы. Все идет нормально.

Но когда я пытаюсь загрузить файл от пользователя ftp, user1я не могу. Я знаю, в чем проблема. У меня вопрос: как правильно настроить разрешения для пользователя apacheи user1чтобы иметь возможность писать / читать все файлы в каталоге / var / www?

Tek
источник

Ответы:

17

Создайте группу www-usersи сделайте ее владельцем группы /var/www. Затем назначьте пользователей apacheи user1группу и установите разрешения для /var/wwwкаталога на 775. Это позволит user1всем остальным пользователям в www-usersгруппе читать и писать /var/www; это также облегчит авторизацию других пользователей для записи /var/www- просто назначьте пользователя в www-usersгруппу.

Изменить: Правильное разрешение на /var/www2775, которое включает setgid, так что файлы и каталоги внутри /var/wwwнаследуют принадлежность группы /var/www.

bwDraco
источник
Отличный ответ. Кроме апач не может читать файлы после того, как я загрузить что - то с user1я побежал следующие команды: chown -R apache:www-users /var/www, usermod -g www-users apache, usermod -g www-users user1, chmod 775 /var/www. Я что-то пропустил?
Tek
Umask может быть настроен так, чтобы запретить чтение другим пользователям; посмотрим, поможет ли изменение маски.
bwDraco
Ага. Это было частью этого.
Tek
10
Вот шаги в случае, если любой гуглер нуждается в подсказке. 1) set up vsftpd for umask 0027 (/etc/vsftpd.conf) [local_umask=0027] 2) create www-users group (groupadd www-users) 3) add user to group (usermod -a -G group user) 4) Set apache to run as www-users group (httpd.conf) 5) chgrp www-users /var/www 6) chmod 2775 /var/www
Tek
2
Кроме того , попробуйте добавить setgid разрешения в каталог: chmod g+s /var/www. Это гарантирует, что файлы и каталоги, созданные внутри каталога, принадлежат группе, которой принадлежит каталог.
bwDraco