С ZSH
:
for d (*(/N)) {for f ($d/*(N:t)) printf '%s: %s\n' $d $f; echo}
Теперь, если вам все равно, если вы не заботитесь о сортировке или исключающих скрытых файлах, или имея пустую линию между каталогами, затем (предполагая Имена файлов не содержат Newline символов), вы можете просто сделать:
find . -path './*/*' -prune -print | sed 's|\./||;s|/|: |'
с GNU Найти
, вы также можете сделать:
find . -path './*/*' -prune -printf '%P\n' | sed 's|/|: |'
или:
find . -path './*/*' -prune -printf '%h: %f\n'
, если вы не заботитесь о ведущем . /
.
-Path './*/*' -прун
состоит в том, чтобы только сообщать о файлах на глубине 2 ( ./ A / B
, но не . /
или ./ A / B / C
). С GNU (и несколько других) Найти
. Найти Реализацию, вы можете заменить это с -Mindepth 2 -MaxDepth 2
.
Ваши журналы находятся в /var/log/httpd
(для их просмотра вам нужно быть "root"). Вы найдете там access_log
и error_log
.
Вы установили/проверили права доступа к вашим файлам? Группа apache
должна иметь возможность их как минимум прочитать. Например, если у меня (пользователя gareth
) есть сайт по адресу /var/www/html
, то:-
$ls -l /var/www/html
-rwxr-----. gareth apache 30 Jun 23 13:35 test.html
Как видите, у меня есть rw
доступ к файлу, а служба apache имеет доступ к r
. Также:-
$ls -ld /var/www/html
drwx--x---. gareth apache 4096 Jun 23 13:35 /var/www/html/
Каталог, содержащий сайт, должен иметь разрешение x
для группы apache
, чтобы apache мог читать каталог. Аналогично, родительская директория должна также иметь разрешение x
. А родительский и т.д.
Если права на файл в порядке, проверьте, что SELinux
не является виновником. Run:-
`setenforce 0`
и попробуйте еще раз. Если сейчас это работает, то проблема связана с SELinux
. Не забудьте запустить:-
`setenforce 1`
для повторного включения SELinux.
.Код состояния 403 указывает на то, что клиент не может получить доступ к запрашиваемому ресурсу. Обычно это указывает на то, что файлы и/или каталог, на который ссылается URL, не имеют разрешений, позволяющих HTTP-серверу получить к нему доступ.
Убедитесь, что имя пользователя/группа, используемая HTTP-сервером, имеет достаточные привилегии для доступа к этой директории. Дополнительно вы должны увидеть информацию об этом в /var/log/httpd/access_log
, если HTTP-сервер является, например, Apache.
Пользователь/группа Apache определена в конфигурационном файле, /etc/httpd/conf/httpd.conf
.
$ grep -E "^User|^Group" /etc/httpd/conf/httpd.conf
User apache
Group apache
Похоже, это была проблема с установкой mod-spdy-beta_current_x86_64.rpm. Удаление и перезагрузка сервера решили эту проблему.