Настройка разрешений для FTP и Apache

У меня есть веб-сервер (Apache2), с которым я обращаюсь с FileZilla.

На моем веб-сервере у меня есть каталог / home / admin / www, который я привязал к / var / www. Поэтому я могу получить доступ к нему с помощью FTP. Это работает отлично!

Но каждый раз, когда я перезапускаю свой веб-сервер, я должен снова и снова выполнять привязку. Не могу ли я сказать моему веб-серверу, что эти карты должны быть привязаны всегда? Также мне нужно сбросить все мои разрешения каждый раз, что я делаю неправильно?

9
задан 7 November 2011 в 20:17

1 ответ

Лучшее и более безопасное решение (я беспокоюсь о том, что в Интернете есть доступ к домашней папке админов!) заключается в создании папки webroot в /

Терминальное время!

cd /
sudo mkdir /webroot
sudo groupadd webdev
sudo usermod -a -G webdev yourusername 
sudo chown www-data:webdev /webroot/

Теперь укажите apache на новый корневой каталог / webroot в нижней части конфигурации apache. Это можно найти здесь: /etc/apache2/apache2.conf

sudo nano /etc/apache2/apache2.conf

CTRL-O для сохранения, CTRL-X для выхода в nano, если вы не знакомы с ним.

Просто замените DocumentRoot /var/www/ на /webroot/

Теперь скопируйте веб-файлы на веб-сайт.

sudo /etc/init.d/apache2 reload

Теперь Apache должен перезагрузиться со всеми загруженными конфигурациями.

Это создало каталог в корне, называемом webroot, принадлежащий apache2, а владелец группы - это новая группа webdev, к которой теперь добавлен ваш пользователь к члену (это не заменяет никаких групп!). Это позволит вам редактировать файлы на FTP!

Это очень простое решение для сервера Apache с одним сайтом. Если вы планируете запускать несколько сайтов (например, для создания отдельных папок для них в веб-роуте) требуется больше работы

. Преимущества этого в том, что если кто-то обнаруживает уязвимость, они запираются в папку webroot, и не ваша домашняя папка! Кроме того, если вам когда-либо понадобилось разрешить другим пользователям изменять сайт, вы можете добавить их пользователя в группу webdev с помощью sudo usermod -a -G theirusername webdev

Надеюсь, что это поможет!

С уважением

12
ответ дан 25 May 2018 в 18:01
  • 1
    Не проблема :) Не возражаете, если я переименую название, чтобы лучше отразить ответ, который я дал? – Laice 17 October 2011 в 15:31
  • 2
    конечно нет :-) – Ontwikkelaar Bij Debugged 17 October 2011 в 17:20
  • 3
    по какой-то причине у меня не было такого пользователя webdev, когда я использовал вашу команду & gt; sudo groupadd webdev Я попробовал это, и он, похоже, работал. Хорошо добавил пользователя в файл / etc / group в любом случае. sudo usermod -a wwwlogin -G webdev – Benaiah 30 March 2013 в 21:20
  • 4
    Это была моя ошибка, в моем ответе я случайно включил пользователя и группу, это было исправлено Дэймоном, извлеченный урок! – Laice 4 October 2013 в 14:27
  • 5
    @Damon, я думаю, вам нужно установить соответствующие разрешения, чтобы владелец (www-data) и group (webdev) имели те же права, что и для каталога: он должен быть 775 (вместо стандартного 755) и 664 (вместо 644 ) для файлов. – Eduardo B. 12 February 2014 в 00:35

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

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