Разрешения проблемы с / var / www / html и мой собственный домашний каталог для сайта.

Я пытаюсь не давать 777-разрешение в моей папке /var/www/html, но я хочу редактировать свои файлы без sudo. Поэтому, хотя я создал символическую ссылку в папке в моем домашнем каталоге в /var/www/html. Я создал его с помощью sudo ln -sT /home/andre/www/moodle/ moodle, а выход ls -la:

andre@andre-270E5G:/var/www/html$ ls -la
total 8
drwxr-xr-x 2 root root 4096 Mai  4 10:20 .
drwxr-xr-x 4 root root 4096 Abr 29 14:29 ..
lrwxrwxrwx 1 root root   23 Mai  4 10:20 moodle -> /home/andre/www/moodle/

Итак, моя папка moodle имеет права на чтение, запись и выполнение для всех, и это не то, что я хочу. Я использовал команду sudo chmod -R 775 moodle/, пытающуюся ее изменить, но остался с правами на чтение, запись и выполнение для всех. Я пробовал то же самое с папкой moodle в /home/andre/www/moodle, но остался прежним. Выход ls -la в /home/andre/www/ равен:

andre@andre-270E5G:~/www$ ls -la
total 28
drwxrwxr-x  3 andre andre  4096 Mai  4 10:02 .
drwx------ 49 andre andre 20480 Mai  4 10:01 ..
drwxrwxr-x 41 andre andre  4096 Mai  4 10:02 moodle

Таким образом, папка moodle в /home/andre/www/ имеет необходимые разрешения.

В качестве дополнительной проблемы, когда я получаю доступ к localhost/moodle, я получаю 403 Запретную ошибку.

Что я делаю неправильно здесь?

1
задан 19 March 2017 в 13:02

2 ответа

Вся идея использования символических ссылок для решения проблемы разрешения является ошибочной и не может работать. Разрешения, которые показаны для самой символической ссылки, в основном неактуальны, они не могут использоваться для обхода разрешений «реального» каталога. Создание символической ссылки от /var/www/html/moodle до /home/andre/www/moodle/ не обойти разрешения для /home/andre/www/moodle/. Любой, кто хочет делать вещи в /var/www/html/moodle, может сделать это только в том случае, если у него есть необходимые разрешения для /home/andre/www/moodle/.

Ваше выполнение sudo chmod -R 775 moodle/ действительно имело эффект, но отличается от что вы считали, что это не изменило разрешение символической ссылки, а цели symlink /home/andre/www/moodle/.

Ошибка 403, которую вы получаете на веб-сервере, вероятно, потому, что ваш веб-сервер не имеет необходимых разрешений для входа в /home/andre. Это не «дополнительная проблема», но из-за той же проблемы с доступом.

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

Как правило, я думаю, что это хорошая идея, что вы владеете файлами и имеете права на rw, веб-сервер только читает доступ к файлам через групповые разрешения, а все остальные пользователи не имеют никакого доступа.

Пример разрешений (который может не работать для вашего использования по причине отсутствия информации):

andre@fermat:/var/www/html$ ls -al moodle/
total 0
drwxr-x--- 2 andre www-data 60 mai  4 16:20 .
drwxr-xr-x 3 root  root     80 mai  4 16:20 ..
-rw-r----- 1 andre www-data  0 mai  4 16:20 index.html

Вы можете видеть, что у каталога достаточно доступа для вас, поскольку владелец вводит его и изменяет его содержимое, веб-сервер (в группе www-data) может вводить и читать. Сами файлы читабельны и доступны для записи (владелец) и доступны для чтения на веб-сервере (в группе www-data). Все остальные пользователи не имеют доступа.

Опять же, пожалуйста, возьмите это только в качестве примера. Точный пользователь / группа вашего веб-сервера зависит от вашей конфигурации. И вашему приложению (moodle) могут потребоваться разные разрешения, вы должны проконсультироваться с его документацией.

2
ответ дан 23 May 2018 в 11:26
  • 1
    Согласовано, но это не слишком полезно, если они не знают, как правильно устанавливать разрешения, и они столкнутся с другими проблемами. – Thomas Ward♦ 4 May 2016 в 17:17
  • 2
    @ThomasW .: Тогда вопрос о том, как правильно установить права, должен быть новым вопросом, включая необходимую информацию, такую ​​как конфигурация веб-сервера, желаемый способ редактирования файлов и потребности приложения. – mastov 4 May 2016 в 17:19
  • 3
    или написано как правильный ответ, который я сейчас делаю. Вы должны alos никогда не запускать что-либо из / home / USER / для веб-сайта либо, он имеет доступ ко многим другим «пользовательским» данным, если веб-сервер неправильно исправлен или настроен. – Thomas Ward♦ 4 May 2016 в 17:19
  • 4
    @mastov Получил это. Вы решаете много вопросов, которые у меня были с вашим объяснением. – André Carvalho 5 May 2016 в 03:30

Отличный ответ от Thomas ward https://askubuntu.com/a/767534/717860

Вы можете сделать все рекомендуемые шаги всего за 3 командами вместо 8 команд:

3 команды:

sudo chown -R ubuntu: www-data / var / www

sudo find / var / www -type d -exec chmod 2750 {} +

sudo find / var / www -type f -exec chmod 640 {} +

3 команды:

sudo chgrp -R www -data / var / www

sudo find / var / www -type d -exec chmod g + rx {} +

sudo find / var / www -type f -exec chmod g + r {} +

sudo chown -R ubuntu / var / www /

sudo find / var / www -type d -exec chmod u + rwx {} +

sudo find / var / www -type f -exec chmod u + rw {} +

sudo find / var / www -type d -exec chmod g + s {} +

sudo chmod -R o-rwx / var / www /

1
ответ дан 23 May 2018 в 11:26

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

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