Нет вывода от команды locate

Recoll может искать PDFs. Это не поддерживает регулярные выражения, но это имеет много других параметров поиска, таким образом, это могло бы соответствовать Вашим потребностям.

6
08.05.2015, 20:15
2 ответа

Проблема заключалась в разрешениях для / (корневой каталог) и подсказке для определения этой строки из вашего Вывод strace :

access("/", R_OK|X_OK)                  = -1 EACCES (Permission denied)

Отсутствуют настройки разрешений на чтение группы для / . Но поскольку у вас все еще было разрешение x (выполнение), которое позволяет вам перемещаться по каталогу, вы все равно можете получить доступ ко всем файлам в файловой системе, поэтому почти все продолжало работать, пока эти разрешения были в силе. . Единственное, что вам не разрешили, это перечислить содержимое / . Большинству команд не нужно указывать / , они либо используют пути относительно текущего каталога, либо абсолютные пути, которые обращаются к определенным известным каталогам вне корня (например, / etc и / var ).

По соображениям безопасности найти , даже несмотря на то, что у него есть доступ к полному списку имен файлов, сгенерированных привилегированным пользователем, настаивает на сообщении только результатов, которые вызывающий пользователь сможет найти, просмотрев все файловая система из корня.Так как вы не могли указать / , что делает сканирование чего-либо прямо из корня невозможным, locate вообще ничего не сообщит.

7
27.01.2020, 20:27

Благодаря зоркому глазу Селады и вниманию к деталям, я проверил права доступа к корневому каталогу.

$ sudo ls -ld /
drwx--xr-x 25 root domain users 4096 Apr 22 17:57 /

Когда я аутентифицируюсь, используя свои учетные данные Active Directory, domain usersявляется основной группой, выделенной мне Winbind. Некоторое время назад я отказывал другим пользователям в праве на чтение набора каталогов, меняя владельца группы и удаляя разрешение на чтение из группы. Должно быть, я случайно сделал то же самое с корневым каталогом. Дох! Интересно, что это было несколько недель назад, и я не заметил никаких проблем -, хотя это совпало с тем временем, когда я сознательно решил начать вход в систему как обычный пользователь и использовать sudo, а не root.

Во всяком случае, я вернул права доступа к тому, что должно быть:

$ sudo chgrp root /
$ sudo chmod -v g+r /
mode of `/' changed to 0755 (rwxr-xr-x)

$ ls -ld /
drwxr-xr-x 25 root root 4096 Apr 22 17:57 /

Теперь locateработает как надо.

0
29.04.2021, 16:35

Теги

Похожие вопросы