LINUX.ORG.RU
ФорумTalks

Каждой программе свой пользователь?


0

0

Система GNU/Linux — это клон Unix первоначально.
А UNIX — это многопользовательская и многозадачная система. Её модель прав доступа (владелец, группа, остальные) предназначена для изоляции пользователей друг от друга. Принцип — каждому пользователю свой каталог.

Но сейчас компьютеры с линуксом используются в основном в совсем другой ситуации — пользователь только один, который имеет над ней полный контроль. Компьютеры — персональные.

В итоге получается, что если работать с системой как обычно, никакой особенной безопасности и нет. Программы запускаются под рутом, хотя на самом деле это не нужно (скажем, мы хотим всего лишь примонтировать образ компакт-диска или собрать пакет)...
По-моему, было бы логично для таких систем сделать специальную ОС или дистрибутив, однопользовательский, но с разными правами для разных программ.
Пример: firefox запускается под пользователем firefox, который имеет право записи только в $HOME/.firefox и всё, аналогично другие программы — восновном имеющие право на запись только туда, куда это совершенно им необходимо. В личные же директории других программ могут заходить только программы, как раз для этого предназначенные — файловые менеджеры, архиваторы и тд... Я знаю, что существуют всякие SElinux и apparmor, но может можно это сделать в специальном дистре линукса на основе модели rwx?
Кстати, если что, права у программ должны отличаться ещё и в зависимости от контекта, например, konqueror, используемый как браузер должен иметь право на запись только в свои конфиги, а запущенный как файл-менеджер — должен иметь доступ ко всем директориям.

Вопрос: есть ли ОС или дистрибутивы, сделанные так чтоб ограничивать не пользователя, а конкретные программы? Раньше Unix ограничивал излишне любопытных пользователей друг от друга, но программы могли всё, теперь же наоборот надо чтоб программы были ограничены, а пользователь мог всё. Мы ведь хотим, чтоб случайно скачанная с интернета игрушка на питоне просто работала и в неё можно было спокойно играть, даже если автор спрятал где-то в Makefile rm -rf /

★★★★★

Ну дык понасоздавай пользователей под каждую перделку и разрули с помощью ACL все это. Только вот зачем?

unikoid ★★★
()
Ответ на: комментарий от anonymfus

> большинство реализаций J2ME в мобильных телефонах;
Platform Security в Symbian OS 9.x. Только вот реализовано оно криво и пользователю не подчиняется. А что есть такого для нормальных ОС?

Xenius ★★★★★
() автор топика
Ответ на: комментарий от robot12

Ъ по ссылкам не ходят

Plan9 уже несколько раз упоминался тут с нулевыми последствиями.

Единственное, что в P9 интересного в этом плане — отсутствие root как такового.

И странно, что RSBAC с ролевым контролем доступа никто не упомянул. Насколько я понимаю, это именно то, чего жаждет ТС.

vaulter
()
Ответ на: комментарий от Xenius

В embedded это несколько проще. API платформы довольно строго определён, и можно раскидать права уже на этом этапе, хотя я чего-то могу не знать/не понимать.

На самом деле хвосты для этого есть в ядре, LSM называется. Так что реализовать что-то подобное можно, и, как бы не слишком сложно, только вот никому это не надо.

vaulter
()
Ответ на: комментарий от Xenius

> А почему бы не сделать чтоб при выборе файла в диалоге открытия, программе автоматически давалось право на его чтение, а при выборе файла в диалоге сохранения — на запись?

Сделано в виджетах Opera.

anonymfus ★★★★
()

Android именно так и делает. Правда приложения там в основном на яве. Не знаю может ли он для нативных делать также.

sergej ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.