Подобное обсуждение было недавно опубликовано в вопросе Какой инструмент наиболее гибок для поиска по всей моей системе, 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
права собственности; Я не уверен, если user:_spotlight
ACL является предоставление разрешения на другие инструменты, которые только имеют ограниченный, если таковые имеются, 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.