Получить полный путь к указанному pid или vfs_context в ядре - PullRequest
0 голосов
/ 03 мая 2019

Я пытаюсь создать фильтр доступа к файлам.то есть только определенные приложения могут получить доступ к определенным файлам.

например: только "/Application/Incometax.app/Contents/macosx/incometax" может получить доступ "/ Users / Prasanna / Confidentialinfo" к любому другому приложению, если попытаться открыть конфиденциальную информацию, доступ должен быть запрещен.

Я начал использовать модуль kauth и слушал Vnode scope.

Всякий раз, когда к файлу обращаются, я могу получить "путь к файлу" к файлу, к которому осуществляется доступ, vfs_context и pid из обратного вызова.

Используя API pid и proc_name.Я получил только имя процесса, который обращается к файлу.Необходимо найти абсолютный путь процесса.

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

например: Когда я получаю доступ к /tmp/info.txt, путь, полученный при обратном вызове, равен "/private/tmp/info.txt"

Пожалуйста, помогите: 1. Получить абсолютныйпуть к приложению, которое обращается к файлу 2. Преобразовать полученный путь из пути Vnode в путь пользователя к земле.

Ссылки: 1. Документация Apple Kaauth 2. Пример реализацииkauth 3. Аналогичный вопрос о переполнении стека : Не могу ли я получить путь из vfs_context?Структура кажется частной?

Спасибо, Прасанна

...