Подобное обсуждение было недавно опубликовано в вопросе Какой инструмент наиболее гибок для поиска по всей моей системе:locate
или mdfind
? , Я не смог получить различные заклинаниям mdfind
делать запросы , которые locate
не было никаких проблем с. Я предлагаю использовать стандартное средство locate
BSD. Вот что я сделал, чтобы решить ваш конкретный случай, используя locate
, что было немного:
$ locate Firefox | grep -i '^/Users/whmcclos.*cache' | head
/Users/whmcclos/Library/Caches/Firefox
/Users/whmcclos/Library/Caches/Firefox/Profiles
/Users/whmcclos/Library/Caches/Firefox/Profiles/cr8059k0.default
/Users/whmcclos/Library/Caches/Firefox/Profiles/cr8059k0.default/.DS_Store
/Users/whmcclos/Library/Caches/Firefox/Profiles/cr8059k0.default/Cache
/Users/whmcclos/Library/Caches/Firefox/Profiles/cr8059k0.default/Cache/0
/Users/whmcclos/Library/Caches/Firefox/Profiles/cr8059k0.default/Cache/0/06
/Users/whmcclos/Library/Caches/Firefox/Profiles/cr8059k0.default/Cache/0/06/ACA5Bd01
/Users/whmcclos/Library/Caches/Firefox/Profiles/cr8059k0.default/Cache/0/06/B30CEd01
/Users/whmcclos/Library/Caches/Firefox/Profiles/cr8059k0.default/Cache/0/09
[...]
но эти заклинания mdfind
дали вам ничего действительно полезного:
$ mdfind kMDItemFSName="Firefox"
/Users/whmcclos/Library/Application Support/Firefox
/Users/whmcclos/Desktop/Programs/Internet/Firefox
/Volumes/Time Machine/Time Machine Safe/Users/whmcclos/Documents/Programs/Internet/Firefox
а также
$ mdfind -name "Firefox" | grep '^/Users/whmcclos.*cache'
Я уверен, что проблема заключается в том, что разрешение на создание метаданных позволяет искать и отображать надлежащие области входа пользователей, которые имеют ограниченные права доступа для group
и user
; Я не уверен, что ACL user:_spotlight
предоставляет разрешения другим инструментам, которые имеют только ограниченные, если таковые имеются, group
и user
разрешения - я все еще исследую эту запутанную проблему. Я проверил и не ограничивал Spotlight настройками конфиденциальности для областей, которые вы ищете.
Как вы, вероятно, знаете, вы можете проверить и изменить ACL с помощью /bin/ls -le
и chmod -a
или chmod +a
, как в этой небольшой последовательности, которую я храню в своем файле заметок, потому что я так редко использую это и синтаксис не интуитивно понятен:
# viewing ACL and changing the same:
$ ls -le
total 16
-rw-r--r--+ 1 whmcclos staff 1918 Dec 18 09:00 README
0: user:_spotlight inherited allow read,execute,readattr,readextattr,readsecurity
-rw-r--r--+ 1 whmcclos staff 192 Nov 15 12:30 try.pl
0: user:_spotlight inherited allow read,execute,readattr,readextattr,readsecurity
$ chmod -a "user:_spotlight allow read,execute,readattr,readextattr,readsecurity" README
$ ls -le
total 16
-rw-r--r-- 1 whmcclos staff 1918 Dec 18 09:00 README
-rw-r--r--+ 1 whmcclos staff 192 Nov 15 12:30 try.pl
0: user:_spotlight inherited allow read,execute,readattr,readextattr,readsecurity
$ chmod +ai "user:_spotlight allow read,execute,readattr,readextattr,readsecurity" README
$ ls -le
total 16
-rw-r--r--+ 1 whmcclos staff 1918 Dec 18 09:00 README
0: user:_spotlight inherited allow read,execute,readattr,readextattr,readsecurity
-rw-r--r--+ 1 whmcclos staff 192 Nov 15 12:30 try.pl
0: user:_spotlight inherited allow read,execute,readattr,readextattr,readsecurity
С этой целью и к пониманию того, как точно настроить locate
и как он ищет FS, чтобы заполнить ее внутреннюю /var/db/locate.database
, мы придумали довольно портативную утилиту членства в группах, если вы захотите Узнайте, добавит ли изменение различных прав доступа к файлам user
и group
видимость результатов поиска Spotlights. У меня еще не было возможности попробовать это. Откровенно говоря, я был очень счастлив, так как я снова включил locate
в OSX.