О правах и файлах

No comments
  • Права приложений.
    Права приложения складываются из
    1-Прав пользователя/группы его запустившего
    2-Конфигурационной записи прав приложения в специальной системной папке.(sdata)

    Примечание: Приложения находящиеся в системной папке не имеют таких записей и имеют права соответствующие своему расположению в подпапках или правам пользователя их запустившего.

    Системные конфигурационные записи включают в себя: флаги разрешения/запрещения ресурсов(сеть, возможно порты и т.д. "ИМХО мне думается будет проще если все права для приложения будут определяться в одной записи"), доступные и (или) запрещенные приложениям пути(файлы), доступные серверы (В случае настройки как файрвол), и (или) запрещенные, и т.п.
    Для файловой системы по конфигурационным записям создаются примерно следующие системные переменные (которые есть в конфиге), действительные только для этого приложения:
    %workdir0 - Рабочий каталог (Чтение/запись) (В случае вызова из другого приложения наследуется от родителя)
    ...
    %workdirN
    %workfile0 - Файл (Чтение/запись)
    ...
    %workfileN - рабочие файлы также могут быть переданы в наследство или открыты системным сервисом.
    %startdir - Путь расположения приложения файла.(Только чтение)
    %apname - Имя запущенного приложения
    %maindata - Каталог основных данных приложения (Только чтение)
    %workdata - Каталог рабочих данных приложения (чтение/запись)
    %mainconfig - Каталог глобальной конфигурации (чтение/ запись только при запуске от администратора)
    %workconfig - Каталог конфигурации аккаунта
    Возможно еще чтото.
    Далее до определения окна запущенное приложение должно подать запрос на сохранение нужных ей переменных(чтобы лишние не висели). После инициации окна все не запрошенные переменные ликвидируются.
    Доступ приложения к файловой системе на запись отныне разрешен только с использованием оставшихся переменных, а на чтение/запуск по правам пользователя (если нет дополнительных ограничений в записи).
    В случае если приложение пытается записать чтото напрямую(и это позволяют права пользователя) выскакивает системное сообщение типа :"Приложение A пытается произвести запись в файл B. Разрешить? Y/N". Чтобы такой бурды не было приложениям следует пользоваться системными сервисами для открытия рабочих файлов.
    Фактически для реализации подобной системы защиты, требуется реализация удобных системных сервисов, сейчас с натяжкой в этой роли используется только 'sysxtree'.
    Ах да, программы для которых нет системных записей, и которые не в системной папке получают минимальные права с запретом записи и прочими запретами.
  • Who is online

    Users browsing this forum: No registered users and 8 guests