Вчера мой руководитель установил один из своих каталогов на мой сервер. Проблема в том, что я не могу получить к ним доступ, и у меня нет возможности связаться с ним прямо сейчас. Когда я ввожу URL-адрес, я получаю такую ошибку:
Forbidden
You don't have permission to access /~<username>/core/ on this server.
Я попытался зайти в "основной" каталог и сделать следующее:
chmod -R 755 *.*
но, даже если все разрешения изменены, я все равно не могу получить доступ! Странно то, что я жестяная банка доступ и редактирование файлов.
Apache необходим доступ ко всем каталогам в пути файловой системы к /~<username>/core/
.
Это почти всегда проблема с разрешением на /home
.
chmod 755 /home/
должен исправить это за вас.
Или проблема SELinux, о которой говорит Джастин.
обратите внимание, что *. * не означает то же самое в unix, что и в ms-dos и windows. "Расширения" имени файла не имеют значения в unix, как они есть / были в DOS, они просто часть строки, составляющей имя файла.
chmod -R 755 *.*
изменяет только права доступа к файлам и каталогам с "." на их имя. Чтобы изменить все файлы независимо от того, есть ли у них расширение. или нет, попробуйте:
chmod -R 755 *
даже лучше, только каталоги (а не простые файлы) должны быть исполняемыми, поэтому попробуйте что-нибудь вроде:
chmod -R a+rX,u+w *
Это изменяет все файлы на читаемые для всех пользователей, доступные для записи владельцем, а также устанавливает бит выполнения для каталогов («X», а не «x»).
Если вы используете SELinux (по умолчанию это так), вам необходимо разрешить Apache доступ к домашним каталогам пользователей:
setsebool -P httpd_enable_homedirs on
Вот и все.
Вы используете SELinux на сервере? Если это так, и для него установлено значение «Enforcing», вам может потребоваться обновить контекст каталога, чтобы httpd_sys_content_t
, иначе Apache будет отказано в доступе.
Вы можете изменить контекст каталога, выполнив следующие действия:
chcon -Rv --type=httpd_sys_content_t /~<username>/core
Это изменит контекст каталога и его содержимого на соответствующий контекст для службы HTTPD (например, Apache) для работы.
Более подробную информацию можно найти здесь: http://wiki.centos.org/HowTos/SELinux/