Ответ 1
Оказывается... нам пришлось также chmod 755 родительский каталог, пользователь, в дополнение к xxx.
Мой сайт дружбы работал нормально, пока он не переместил корень документа с /var/www/xxx
до /home/user/xxx
.
Apache дает 13 разрешенных сообщений об ошибках при попытке доступа к сайту через веб-браузер.
Сайт настроен как виртуальный каталог. Все конфигурации Apache не изменились (кроме изменения каталога).
Мы попытались chmod 777 /home/user/xxx
, chown apache/home/user/xxx. Но они не сработали.
Есть ли какой-либо набор функций безопасности в домашних каталогах пользователей? ОС сервера - CentOS (Godaddy VPS).
Любая помощь приветствуется!
Спасибо!
Оказывается... нам пришлось также chmod 755 родительский каталог, пользователь, в дополнение к xxx.
im, используя CentOS 5.5, и для меня это было SElinux, и я забыл это проверить. вы можете временно отключить его, выполнив root
echo 0 > /selinux/enforce
надеюсь, что это поможет кому-то
selinux является причиной этой проблемы.....
TException: Ошибка: TSocket: Не удалось подключиться к localhost: 9160 (Permission denied [13]) Чтобы решить эту проблему, вам нужно изменить логическое значение SELinux (которое будет автоматически сохраняться при перезагрузке). Вы также можете перезапустить httpd для reset прокси-работника, хотя это не требуется строго.
или
(13) Разрешение отклонено
Ошибка 13 указывает на проблему с разрешениями файловой системы. То есть Apache был лишен доступа к файлу или каталогу из-за неправильных разрешений. В общем, это не означает проблемы в файлах конфигурации Apache.
Чтобы обслуживать файлы, Apache должен иметь надлежащее разрешение, предоставляемое операционной системой для доступа к этим файлам. В частности, пользователь или группа, указанные в httpd.conf, должны иметь возможность читать все файлы, которые будут обслуживаться, и искать каталог, содержащий эти файлы, вместе со всеми родительскими каталогами до корня файловой системы.
Типичные разрешения для unix-подобной системы для ресурсов, не принадлежащих пользователю или группе, указанным в httpd.conf, будут 644 -rw-r-r-- для обычных файлов и 755 drwxr-xrx для каталогов или CGI-скриптов, Вам также может потребоваться проверить расширенные разрешения (например, разрешения SELinux) на операционных системах, которые их поддерживают.
Пример
Допустим, что вы получили ошибку с разрешением отказа при доступе к файлу /usr/local/apache 2/htdocs/foo/bar.html в unix-подобной системе.
Сначала проверьте существующие разрешения на файл:
cd/usr/local/apache2/htdocs/foo ls -l bar.htm
При необходимости исправьте их:
chmod 644 bar.html
Затем выполните то же самое для каталога и каждого родительского каталога (/usr/local/apache2/htdocs/foo,/usr/local/apache2/htdocs,/usr/local/apache2,/usr/local,/usr)
ls -la chmod + x. cd..
В некоторых системах имя утилиты можно использовать для поиска проблем с разрешениями путем перечисления разрешений по каждому компоненту пути:
namei -m/usr/local/apache2/htdocs/foo/bar.html
Если все стандартные разрешения правильные, и вы по-прежнему получаете ошибку с разрешением отказа, вы должны проверить наличие расширенных разрешений. Например, вы можете использовать команду setenforce 0, чтобы отключить SELinux и проверить, не исчезла ли проблема. Если это так, ls -alZ можно использовать для просмотра разрешения SELinux и chcon для их исправления.
В редких случаях это может быть вызвано другими проблемами, такими как проблема с правами доступа к файлам в другом месте вашего файла apache2.conf. Например, директива WSGIScriptAlias не сопоставляется с фактическим файлом. Сообщение об ошибке может быть неточным о том, какой файл не читается.
НЕ устанавливайте файлы или каталоги в режим 777, даже "просто проверить", даже если "это просто тестовый сервер". Цель тестового сервера - это правильно разобраться в безопасной среде, а не избегать делать это неправильно. Все, что вам скажет, это проблема с файлами, которые на самом деле существуют.
Не уверен, что вы исправили его, но в своем httpd.conf
Проверьте настройки пользователя/группы. Обычно он будет установлен на
Пользователь www Группа www
Если это изменить его имя/группу
Пользователь Greg персонал группы
Ошибка Apache объяснит, почему вы получили отказ в доступе. Кроме того, serverfault.com является лучшим форумом для такого вопроса.
Если в журнале ошибок просто указано "разрешение отклонено", то для пользователя, который работает веб-сервер, и попытайтесь прочитать его из файла. Так, например:
sudo -s
su - nobody
cd /
cd /home
cd user
cd xxx
cat index.html
Обратите внимание, если одна из них дает вам ошибку с разрешением отказа.
Не можете ли вы установить Loglevel в httpd.conf для отладки? (Я использую FreeBSD)
ee usr/local/etc/apache22/httpd.conf
изменить loglevel:
'LogLevel: контроль количества сообщений, зарегистрированных в файле error_log. Возможные значения: debug, info, notice, warn, error, crit, предупреждение, выступить. '
Попробуйте перейти на отладку и повторную проверку журнала ошибок после этого.
Может быть SELinux. Проверить соответствующий файл журнала (/var/log/messages?) Было некоторое время, так как я использовал производную RedHat), чтобы увидеть, блокирует ли этот доступ.
Ошибка:
[error] [client 127.0.0.1] (13)Permission denied: Could not open password file: /home/XXX/svn/svn_password
информация:
##SELinux Security Context File Labels #httpd_sys_content_t The type used by regular static web pages with .html and .htm extensions. #httpd_sys_script_ro_t Required for CGI scripts to read files and directories. #httpd_sys_script_ra_t Same as the httpd_sys_script_ro_t type but also allows appending data to files by the CGI script. #httpd_sys_script_rw_t Files with this type may be changed by a CGI script in any way, including deletion. #httpd_sys_script_exec_t The type required for the execution of CGI scripts
Решение:
[[email protected]]# perror 13 OS error code 13: Permission denied [[email protected]]# chown apache.apache /home/XXX/svn/ -R [[email protected]]# semanage fcontext -a -t httpd_sys_script_rw_t "/home/XXX/svn(/.*)?" [[email protected]]# restorecon -R -v /home/XXX/svn/ [[email protected]]# restorecon reset /home/XXX/svn/ context [[email protected]]# ls -dZ /home/XXX/svn/ drwxr-xr-x. apache apache system_u:object_r:httpd_sys_rw_content_t:s0 /home/XXX/svn/ [[email protected]]# ls -dZ /home/XXX/svn/svn_password -rwxr-xr-x. apache apache system_u:object_r:httpd_sys_rw_content_t:s0 /home/XXX/svn/svn_password [[email protected]]#
Вы изменили разрешения для отдельных файлов, а также только для каталога?
chmod -R 777 /home/user/xxx