No comments
-
-
- Posts 125
- Joined: Fri May 18, 2007 11:11 pm
Ну и текущие итоги
Code: Select all
|_R_|_W_|_E_|
Vis Adm All kolibri - сделать как жесткую ссылку /kolibri или /koos
Vis Adm Vis system а /sys отдать на .../kolibri/system/
Vis Sys Vis kernel - ядро и системные сервисы высшего приоритета
Vis Sys Not lib - системные библиотеки
Vis Sys All network - системные проги для сети
All Sys Not fonts - шрифты
Adm Sys Not configs - папка конфигураций системы
Sys Sys Not sdata - скрытая папка системных данных
Sys Sys Not box - скрытая папка паролей программ и пользователей
Adm Adm Adm admin - папка сервисов администратора
Различные системные приложения пользовательского уровня (россыпью)
All Adm All programs - сделать как /prog или вообще не делать
works - наборы каталогов и программ
games
develop
Разные каталоги и программы
All All All doсs - /alldocs - общие документы
Adm Adm Adm groups
UsrGrp Not [ group ] - сделать как /имя группы docs
...
Adm Adm Adm users
Vis Vis Not visitor - если он нужен
Usr Usr Usr default - сделать как /home (для конкретного пользователя)
Usr Usr Usr docs - сделать как /mydocs
Usr Usr Not configs
...
Sys Sys Not trash - корзина - закрыть доступ и обрабатывать системным приложением
или вообще не делать
Папки 'kolibri', 'system', 'programs', 'groups', 'users' не распостраняют свои права на подпапки.
-
- Posts 125
- Joined: Fri May 18, 2007 11:11 pm
Права приложений.
Права приложения складываются из
1-Прав пользователя/группы его запустившего
2-Конфигурационной записи прав приложения в специальной системной папке.(sdata)
Примечание: Приложения находящиеся в системной папке не имеют таких записей и имеют права соответствующие своему расположению в подпапках или правам пользователя их запустившего.
Системные конфигурационные записи включают в себя: флаги разрешения/запрещения ресурсов(сеть, возможно порты и т.д. "ИМХО мне думается будет проще если все права для приложения будут определяться в одной записи"), доступные и (или) запрещенные приложениям пути(файлы), доступные серверы (В случае настройки как файрвол), и (или) запрещенные, и т.п.
Для файловой системы по конфигурационным записям создаются примерно следующие системные переменные (которые есть в конфиге), действительные только для этого приложения:
%workdir0 - Рабочий каталог (Чтение/запись) (В случае вызова из другого приложения наследуется от родителя)
...
%workdirN
%workfile0 - Файл (Чтение/запись)
...
%workfileN - рабочие файлы также могут быть переданы в наследство или открыты системным сервисом.
%startdir - Путь расположения приложения файла.(Только чтение)
%apname - Имя запущенного приложения
%maindata - Каталог основных данных приложения (Только чтение)
%workdata - Каталог рабочих данных приложения (чтение/запись)
%mainconfig - Каталог глобальной конфигурации (чтение/ запись только при запуске от администратора)
%workconfig - Каталог конфигурации аккаунта
Возможно еще чтото.
Далее до определения окна запущенное приложение должно подать запрос на сохранение нужных ей переменных(чтобы лишние не висели). После инициации окна все не запрошенные переменные ликвидируются.
Доступ приложения к файловой системе на запись отныне разрешен только с использованием оставшихся переменных, а на чтение/запуск по правам пользователя (если нет дополнительных ограничений в записи).
В случае если приложение пытается записать чтото напрямую(и это позволяют права пользователя) выскакивает системное сообщение типа :"Приложение A пытается произвести запись в файл B. Разрешить? Y/N". Чтобы такой бурды не было приложениям следует пользоваться системными сервисами для открытия рабочих файлов.
Фактически для реализации подобной системы защиты, требуется реализация удобных системных сервисов, сейчас с натяжкой в этой роли используется только 'sysxtree'.
Ах да, программы для которых нет системных записей, и которые не в системной папке получают минимальные права с запретом записи и прочими запретами.
Users browsing this forum: No registered users and 8 guests