Хорошо, я почти полностью новичок в конфигурации linux и apache.
Моя проблема в том, что у меня есть apache, отображающий страницу по умолчанию, но когда я пытаюсь получить к нему доступ через sFTP, он сообщает мне, что мне отказано в разрешении на запись при попытке записи в / var / www / html.
Я могу войти на сервер через fileZilla. Когда я использую команду ls -l / var | grep www (я думаю, это то, как вы проверяете разрешение), и он возвращает «drwxr-xr-x 6 root root 4096 Jul 15 7:18 www». Я читал, и, по-видимому, www-data должен быть там, где находится root, но я не знаю.
Я получаю доступ через ec2-пользователя с файлом .pem.
Я думаю, что я должен добавить своего пользователя в группу, отвечающую за папку html, но это похоже на ее корень, поэтому я просто не уверен, что с этим не так.
Есть идеи, как я могу это обойти? Желательно надежно.
РЕДАКТИРОВАТЬ
Я могу писать в каталог / home / ec2-user с той же настройкой. Полагаю, мне просто нужно добавить пользователя ec2 в определенную группу? У меня нет группы под названием www-data, как некоторые предлагали мне, и похоже, что давать привилегии root-пользователя ec2 не рекомендуется. Могу ошибаться в этом.
Если вы используете Ubuntu, пользователь Apache будет www-data, но если вы используете CentOS, пользователь веб-сервера будет Apache, поэтому вы можете использовать grep и посмотреть, существует ли пользователь Apache или нет:
grep apache /etc/passwd
Если существует пользователь apache, вы можете использовать:
chown -R apache:apache /var/www/html
Войдите с помощью PuTTY и запустите sudo chown -R www-data /var/www/html
Это изменит владельца каталога на www-data
. Если это не сработает, убедитесь, что это правильный аккаунт. Звучит неправильно.