Вопрос Лучший способ настройки прав доступа apache2


У меня есть сервер с ubuntu 14.04.

Я установил apache2, php5 и pure-FTPd.

Итак, apache работает в mpm prefork с одним процессом, принадлежащим root, и всеми дочерними процессами, принадлежащими www-data.

/ Var / www / html принадлежит root (-rw-r - r-- 1 корневой корень)

Теперь у меня есть ftp-пользователь, называемый ftpuser.

Какой был бы лучший способ (и более безопасный), чтобы ftpuser мог создавать и редактировать файлы в / var / www / html?

Могу ли я изменить владельца группы / var / www / html на www-данные с доступом для записи и добавить ftpuser в группу www-data?

Если теперь я также хочу использовать mediawiki, ему иногда нужен доступ на запись к / var / www / html. Итак, такой же вопрос: могу ли я изменить владельца группы / var / www / html на www-данные с доступом для записи?


2
2018-06-19 09:36


происхождения




ответы:


Как правило, это плохая идея предоставить доступ на запись к учетной записи, на которой запущен веб-сервер (www-data в Ubuntu).

Для вашего сценария я бы изменил владельца /var/www/html к ftpuser с чтением-записью для него, читать только для группы и других. Apache, по крайней мере, должен иметь возможность читать в этом каталоге.

UPD: Если у вас есть несколько пользователей для доступа, поместите их все в одну группу, измените право собственности на группу на эту группу и дайте группе возможность читать и писать.

С точки зрения безопасности, это плохая идея предоставить доступ к файлам Apache для всех файлов, к которым он может получить доступ. Если кто-то может сделать «неприятные вещи» с вашим веб-сервером, по крайней мере, он не сможет напрямую изменять файлы с помощью Apache.

Не забудьте обеспечить установку FTP-сервера, который вы собираетесь использовать, чтобы загружать файлы ftpuser.

Если Mediawiki необходимо записать в некоторые файлы, я бы предоставил этим файлам только права на чтение и запись для пользователя www-data (установив владельца этих файлов на www-data). Если вы не можете предсказать, какие файлы должны быть доступны для записи в веб-приложении, вам следует изолировать это приложение в подпапку «/ var / www / html».

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


2
2018-06-19 12:17



Спасибо Бенуа. И каков будет ваш совет, если у меня есть группа под названием ftpgroup, содержащая ftpuser и ftpuser2? - tweetysat
@tweetysat: обновил мой ответ с вашего комментария. - Benoit


Веб-сервер Apache2 доступен в Ubuntu Linux. Чтобы установить Apache2:

В командной строке терминала введите следующую команду:

sudo apt-get install apache2 

Базовые настройки

Если вы хотите настроить новый виртуальный хост или сайт, скопируйте этот файл в тот же каталог с выбранным вами именем. Например:

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/mynewsite

Отредактируйте новый файл, чтобы настроить новый сайт, используя некоторые из описанных ниже директив.


0
2018-06-19 11:09



Вы уверены, что прочитали мои вопросы? - tweetysat
извините, если мой ответ вам не подходит. На самом деле, я читал очень быстро - я хотел помочь вам, вот и все. Прости - Hadi


Если у вас еще нет Apache, вы можете сделать это сейчас, выпустив следующие команды:

sudo apt-get update
sudo apt-get install apache2

Это все, что необходимо для работы веб-сервера. Если вы посетите свой IP-адрес VPS адрес в веб-браузере, вы получите индексную страницу Apache по умолчанию:

your_domain_name_or_ip_address

It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.

Иерархия файлов Apache в Ubuntu и Debian

На Ubuntu и Debian Apache хранит свои основные файлы конфигурации в папке «/ etc / apache2»:

cd /etc/apache2
ls -F

apache2.conf  envvars     magic            mods-enabled/  sites-available/
conf.d/       httpd.conf  mods-available/  ports.conf     sites-enabled/

Просмотр файла Apache2.conf

Основные сведения о конфигурации вашего сервера Apache хранятся в файле «/etc/apache2/apache2.conf».

Этот файл разделен на три основных раздела: конфигурация глобального процесса Apache, настройка сервера по умолчанию и конфигурация виртуальных хостов.

В Ubuntu и Debian большая часть файла предназначена для глобальных определений, а конфигурация сервера по умолчанию и виртуальных хостов обрабатывается в конце с помощью директивы «Включить ...».

Директива «Включить» позволяет Apache считывать другие файлы конфигурации в текущий файл в том месте, где отображается оператор. В результате Apache динамически генерирует общий файл конфигурации при запуске.

Если вы пролистаете нижнюю часть файла, существует несколько разных операторов «Включить». Эти определения загрузочного модуля, документ ports.conf, конкретные файлы конфигурации в каталоге «conf.d /» и, наконец, определения виртуального хоста в каталоге «sites-enabled /».

Мы сосредоточимся на первой части файла, чтобы узнать, как Apache определяет свои глобальные настройки.

Я надеюсь, что это сработает для вас


0
2018-06-19 11:13