проблема разрешения файловой системы linux - PullRequest
1 голос
/ 02 июня 2009

Я развернул орех. Сначала я просто оставил индексный файл под /root/nutch1.0. Это прекрасно работает при запуске из командной строки. Однако при поиске в Интернете он всегда возвращает 0 hit.

Я наконец нашел причину: это потому, что индексный файл расположен в /root, что вызывает сбой при открытии файла. Когда я переместил файл индекса в другой каталог, все нормализовалось.

Но мой вопрос:

Я не изменил права доступа к файлу индекса (просто cp xxx another-directory). Почему изменились права доступа?

drwxr-x--- 12 root root    4096 Jun  1 14:49 root
drwxr-xr-x 14 root root    4096 Nov 16  2007 usr

Я поместил файлы под /usr, и это сработало.

Ответы [ 3 ]

2 голосов
/ 02 июня 2009

Чтобы прочитать файл, вам нужно разрешение на поиск ('x') в каталоге, в котором находится файл, а также разрешение на чтение самого файла. Перемещение файла из каталога, в котором веб-сервер не имеет разрешений на поиск, в каталог, в котором он находится, приведет к полученному эффекту.

0 голосов
/ 02 июня 2009

Предположительно, вы находитесь в группе "root" и, следовательно, можете использовать каталог. При использовании веб-интерфейса вы, скорее всего, находитесь в программе с собственным пользователем (в смысле Unix / Linux), который, вероятно, не входит в группу «root». Из перечисленных вами разрешений любой может использовать каталог "/ usr".

0 голосов
/ 02 июня 2009

Поскольку вы не можете получить доступ к чему-либо в корневом каталоге, если вы не являетесь пользователем root.

Посмотрите на разрешения для / root, должно быть что-то вроде 700 ... бит выполнения установлен так, что только root может "выполнить" каталог. Разрешения на выполнение каталога позволяют просматривать файлы внутри каталога.

Это та же самая причина, по которой вы не можете "ls / root", пока вы вошли как кто-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...