LINUX.ORG.RU
ФорумTalks

А можно сделать систему без супер пользователя?


0

0

Читаю «В ядрах Linux серии 2.6 обнаружена локальная root-уязвимость».
Думаю...

А можно сделать систему без root пользователя?
В смысле без пользователя с неограниченными правами. А приложениям, предназначенным для административных (и системных) задач выдавать только конкретные привилегии, например X'ам не надо ничего писать (кроме логов и еще какой-то ботвы в tmp).

★★★★★

>А можно сделать систему без root пользователя?

Иксы то без рута уже работать научились?

Deleted
()

root - никто. Администратор тащит.

melkor217 ★★★★★
()

Ты изобрёл SELinux

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

Все системные и административные приложения ограничены политиками.
Можно сделать так:
Приложения сами режут себе права когда запускаются. Или, например, исполняемый файл (или в отдельном файле) содержит список ресурсов доступных приложению, все что не входит в список недоступно.
Т.е. приложение ограничено. Если в нем дыры, то нагадить можно будет только в ограниченную область.

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

ls-h ★★★★★
() автор топика

можно сделать систему без root пользователя?


нет, нельзя.
даже у Конституции есть Гарант

ArsenShnurkov
()
Ответ на: комментарий от Deleted

>Иксы то без рута уже работать научились?
А конкретно, чего им надо? Т.е. нельзя дать им доступ только к этому ресурсу, не давая ко всему остальному.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от Deleted

>Иксы то без рута уже работать научились?
(в сторону)«Крио-камеры опять текут»

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

на самом деле рут нужен только для *dm и подгрузки модуля для видео
т.е. если сделать это до запуска иксов(я про модули) то работают
с *dm вот сам задумался...

megabaks ★★★★
()

Да, можно. SELinux. Но человек и учетка, которые пропишут тебе политику «невысовывайся» безусловно должен существовать :)

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

>Но человек и учетка, которые пропишут тебе политику «невысовывайся» безусловно должен существовать :)

Не обязательно.
Так:
Все пользователи равны, т.е. простые обычные пользователи.
Пользователя, которому можно все не существует.
Но, пользователям можно позволять запускать программы с повышенными привилегиями. Именно программы имеют повышенные привилегии.
Каждой такой программе соответствует профиль, в котором написано что ей можно _сверх_ того, что может обычный пользователь (тут и отличие от AA и SEL).
Профиль похож на профиль от AA, т.е. написано какие файлы можно читать, какие писать, и т.п.
Когда пользователь запускает такую программу, то для пользователя ничего не меняется.

ls-h ★★★★★
() автор топика
Ответ на: комментарий от megabaks

>на самом деле рут нужен только для *dm и подгрузки модуля для видео
Нет. У меня KMS и отсутствует *dm, но иксы без SUID не запускаются без лишних телодвижений. Угадай почему.

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

я откисаю в ванной с нетбуком и сигаретами
веришь, нет - так ломает? )

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

т.е. нужен или не нужен? Ты уж определись :}

Deleted
()
Ответ на: комментарий от ls-h

>А конкретно, чего им надо?

Тоже хотелось бы знать.

Deleted
()
Ответ на: комментарий от x3al

короче - прибил иксы
запустил от юзера - говно интел с кмс - ЧЯДНТ?
прада композит не работает - wicd послал из-зи что-то там dbus...
но иксы то работают :)

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

Что-то около полутора лет назад мелькала новость про то, что удавалось запустить иксы без прав рута. в подробностях не помню, но гугл, определенно, поможет докопаться до истины

Deleted
()
Ответ на: комментарий от megabaks

вылез из ванной - проверил то же самое на десктопе
нвидия - естессно без кмс
иксы так же запустились, и так же без композита :)

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

хм...glxgears то работают, а вот компиз ни разу...

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

поигрался - если убрать присвоение - сначала спотыкается на правах на логи, потом на tty0, потом на виртконсоли...
короче мне надоело - я пошёл спать )

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

>Теперь допустим тебе захочется изменить эти профили, что будешь делать?
Если ты о профилях программ, то они составляются разработчиками или мейнтейнерами и менять их не надо, т.к. они содержат только то, что нужно программе.

Если ты о том, каким пользователям можно запускать какие админские приложения, то для редактирования этого списка можно сделать специальную утилитку, которая так же будет являться привилегированной программой (единственное что ей будет можно это редактирование прав).
Не считаю это дырой в безопасности, т.к. утилита будет использоваться крайне редко или вообще никогда.

Естественно, для запуска таких программ у пользователя спрашивается пароль, как в случае использования sudo.

ls-h ★★★★★
() автор топика

Ящитаю, тебе нужны selinux и grsecurity.

GotF ★★★★★
()

Вообще-то, в линуксе это давно можно:

man 7 capabilities

Более того, такая схема безопасности, именуемая MAC — mandatory access control реализуется многими системами, например, RSBAC, которая объявлена стабильной для промышленного применения еще в 2000-х

Но пока никто не внедрял ее на десктопы, поскольку это затронет почти весь софт — а это очень много работы

annoynimous ★★★★★
()

Я пытался попробовать в окружении пользователя не использовать root setuid программы (X например). X в режиме vesa можно запустить используя capabilities. С драйвером nv у меня уже не получилось и я плюнул на это дело. А так вообще getent passwd на свежеустановленной системе должно наводить на вопрос - а зачем все эти пользователи нужны? Я думаю архитектурно и исторически Unix задумывался как система с делегированием полномочий пользователям, и для этого необязателен SELinux - можно было обойтись файловыми разрешениями. Но сейчас слишком много завязок на uid в коде и архитектурно это уже не решить - нужно много модификаций кода.

tux2002
()
Ответ на: комментарий от ls-h

> Если ты о профилях программ, то они составляются разработчиками или мейнтейнерами и менять их не надо, т.к. они содержат только то, что нужно программе.
Как-то не привычно работать в системе где «менять не надо». А вдруг захочется? Ну ладно, допустим есть какой-нибудь single mode в котором можно менять.

Если ты о том, каким пользователям можно запускать какие админские приложения, то для редактирования этого списка можно сделать специальную утилитку, которая так же будет являться привилегированной программой (единственное что ей будет можно это редактирование прав).

Тот кто сможет запускать эту утилитку, тот приравнивается к руту.

Не считаю это дырой в безопасности, т.к. утилита будет использоваться крайне редко или вообще никогда.

А не важно как она часто будет использоваться. Если злоумышленник сможет её запустить, то он сможет делать всё что заблагорассудится.

Естественно, для запуска таких программ у пользователя спрашивается пароль, как в случае использования sudo.

чей это будет пароль и кто его сможет менять? :)

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

>Тот кто сможет запускать эту утилитку, тот приравнивается к руту.
Нет. Этой утилитой можно будет только поменять список пользователей которые имеют админские права. Можно сделать и без нее, тогда в системе будет один админ.
Чтобы ее запустить надо знать админский пароль. То, что его можно узнать - вообще из другой серии, т.е. мы не говорим тут об этом.

А не важно как она часто будет использоваться. Если злоумышленник сможет её запустить, то он сможет делать всё что заблагорассудится.

Ее может запустить только админ. При запуске любой админской проги админ должен еще раз пройти аутентификацию (как sudo). Если злоумышленник проходит аутентификацию, то это уже не проблема ОС, а проблема ее настройки, слабых паролей, бумажек с паролями и т.п.
Про частоту запуска я написал к тому, что если в ней будет какой то баг, то поймать момент ее запуска из вражеской программы и нагадить в нее будет очень проблематично.

чей это будет пароль и кто его сможет менять? :)

Пароль пользователя. Как в sudo.
Ну, тут уж никак по другому. Если хакер Вася знает админский пароль, то игра проиграна.

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

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