[Comm] Groups
Shawkat
=?iso-8859-1?q?shawkat_=CE=C1_samitc=2Euzsci=2Enet?=
Сб Июл 5 09:42:43 MSD 2003
> Набор прав необходимых для
> доступа к объекту ассоциирован с ним самим. Это и есть _так_ и быть
> иначе не может (в случае ФС это file mode или ACL, если эта ФС их
> поддерживает). Субъект в свою очередь обладает некоторым набором прав,
> которые и сравниваются с теми, которые необходимы для доступа к
> объекту.
Совершенно верно - так это я себе и представляю.
> Что тут неестесственного-то?
Неестесвенно, откуда берется набор прав субъекта. Он запрашивается у самого
субъекта, хотя можно было бы эти же самые права элементарно рассчитать.
Пример : у субъекта запрашивается только uid - по нему и по _текущему_
содержимому /etc/groups ядро высчитывает в какие группы входит пользователь
(расчитав из /etc/passwords по uid его username). И уже по высчитанному
значению прав субъекта (а не по запрошенному у субъекта) и идет сравнение с
правами необходимыми для доступа к объекту. Я не кернел-программист, но думаю
это совсем не сложно - ведь _это_же_самое_ вычисление производится в момент
логина пользователя. Кто мешает вместо функции _запроса_ прав_у_процесса
выполнять _функцию_начального_расчета_прав ?
> Так называемые "права пользователя" это просто набор прав, которые
> приписывается первому пользовательскому процессу системой. И ничего
> более.
Ну вот зачем так ? Зачем _статически_ приписывать права пользователя первому
пользовательскому процессу (и все последующие их наследуют), когда их можно
(и на мой взгляд - нужно) рассчитывать _динамически_ ?
Мне всегда почему то казалось что так оно и есть в линуксе, однако теперь я
неприятно удивлен.
Подробная информация о списке рассылки community