[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