Налаштування дозволів для FTP та Apache


10

У мене є веб-сервер (Apache2), до якого я отримую доступ з FileZilla.

На своєму веб-сервері у мене є dir / home / admin / www, який я прив’язував до / var / www. Тож я можу отримати доступ до нього за допомогою FTP. Це прекрасно працює!

Але кожного разу, коли я перезапускаю свій веб-сервер, я повинен робити зв'язок знову і знову. Чи не можу я сказати своєму веб-серверу, що ці карти потрібно завжди пов'язувати? Крім того, мені потрібно щоразу знову скидати всі дозволи, що я роблю неправильно?

Відповіді:


13

Краще і безпечніше рішення (мені стає непросто з Інтернетом, що має доступ до домашньої папки адміністратора!) - створити папку 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 для виходу в нано, якщо ви не знайомі з цим.

Просто замініть DocumentRoot /var/www/на/webroot/

Скопіюйте свої веб-файли зараз у webroot.

sudo /etc/init.d/apache2 reload

Тепер Apache повинен був перезапустити всі завантажені конфігурації.

Це створило каталог в корені під назвою webroot, що належить apache2, а власником групи є нова група webdev, яку ваш користувач тепер додає до члена (це не замінює жодної групи!). Це дозволить вам редагувати файли на FTP!

Це дуже просте рішення для одноповерхового сервера apache. Більше роботи потрібно, якщо ви плануєте запускати декілька сайтів (наприклад, створити окремі папки для них у веб-корінці)

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

Сподіваюся, це допомагає!

З повагою


Не проблема :) Ви не заперечуєте, якщо я перейменую заголовок, щоб краще відобразити відповідь, яку я дав?
Лейсі

звичайно ні :-)
Ontwikkelaar Bij Налагоджений

я чомусь не отримував такого користувача webdev, коли я використовував вашу команду> sudo groupadd webdev, я спробував це, і, здавалося, це працює. Добре додав користувача у / etc / group файл у будь-якому випадку. Судно usermod -a -G wwwlogin WebDev
Ванеева

Це була моя вина, у своїй відповіді я ненавмисно переключився на користувача та групу, це виправив Деймон, урок вивчив!
Laice

@Damon, я думаю, вам потрібно встановити відповідні дозволи таким чином, щоб власник (www-data) та група (webdev) мали такі самі дозволи, як і для каталогу: він повинен бути 775 (замість 755 за замовчуванням) та 664 (замість 644 ) для файлів.
Едуардо Б.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.