SSH Смена владельца public_html
Владельцем по умолчанию для public_html было myusername:nobody
drwxr-xr--. 18 myusername nobody 4096 Jun 1 16:06 public_html/
Я изменил это на myusername:myusername
так как мне нужно получить доступ к файлу внутри public_html, используя следующую команду
# chown myusername:myusername public_html
Это сработало, и право собственности изменилось.
Теперь я не могу сменить владельца обратно на myusername:nobody
, Я использую эту команду
chown livegiftcard:nobody public_html
и это дает мне ошибку
chown: изменение владельца âpublic_htmlâ: операция не разрешена
Я также проверил это с sudo
а также chgrp
но не повезло.
Также я не смог запустить свой сайт. Браузер выдает мне следующую ошибку.
запрещено
У вас нет разрешения на доступ к / на этом сервере. Сервер не может прочитать файл htaccess, отказывая в доступе для обеспечения безопасности
Кроме того, возникла ошибка 403 Forbidden при попытке использовать ErrorDocument для обработки запроса
1 ответ
Проблема: у apache/nginx есть пользователь, которому нужно читать файлы в Docroot. Пользователь и группа по умолчанию: www-data:www-data. Я не пользователь, если это правильно в вашем случае.
Теперь файлы принадлежат myusername:myusername, а пользователь apache/nginx, вероятно, не входит в группу "myusername". Так что, если у вас есть знания о системе разрешений Linux, у пользователя веб-сервера есть только те права, которыми обладают все (третий столбец). Когда для группы было задано никто, файлы не принадлежали какой-либо группе, и каждый пользователь мог действовать в соответствии с разрешениями группы. В вашем случае, я думаю, группа может читать все файлы, а все остальные - нет.
Что вы можете сделать: дать всем остальным право читать файлы с
chmod -R o+r public_html
Теперь все, включая пользователя веб-сервера, могут читать файлы, и вы не получите ошибку 403. -R предназначен для рекурсии, поэтому каждый файл и каталог в public_html также получат читаемый флаг.
Другое дело - добавить пользователя веб-сервера в группу "myusername", чтобы веб-сервер также мог использовать разрешения группы.
Третья и последняя возможность, которая пришла мне в голову, это изменить группу на "nogroup" вместо "nobody", потому что никто не является пользователем, и nogroup группа.