Наблюдатель за файловой системой MacOS X - PullRequest
3 голосов
/ 13 декабря 2010

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

Согласно моему уровню знаний, единственный способ сделать это - прослушать "/ dev /fsevents "с правами суперпользователя.Есть ли другой способ отслеживать изменения файловой системы без запуска привилегированного процесса с правами root?

Заранее спасибо!

привет,
Tobias

1 Ответ

3 голосов
/ 13 декабря 2010

Нет.Вам нужно использовать /dev/fsevents или dtrace или что-то еще, для чего всем требуются права суперпользователя.

Как вы знаете, общедоступные FSEvents api не дают вам детальную информацию, так какты хочешь.

Но так и должно быть.Когда вы спрашиваете «возможно ли это без привилегий root?», Вы должны спросить себя «хотите ли вы, чтобы другие делали это без привилегий root на моей машине?»

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

...