[Comm] Groups

Denis S. Filimonov =?iso-8859-1?q?den_=CE=C1_academ=2Eorg?=
Сб Июл 5 09:31:19 MSD 2003


On Saturday 05 July 2003 11:26, Shawkat wrote:
> > Нелогично? А по какой логике? Не могли вы бы изложить ее в
> > доступной форме, так, чтобы unix-гуру почесали и призадумались
> > "да, что-то в этом есть" ;)
>
> Таблица доступа должна ассоциироваться не с процессами (не с
> пользователем / не с субъектом), а с объектом. Еще раз поясню - если
> меня вписали в какую-либо группу, то при попытке доступа к файлу этой
> группы, ядро или файловая система должна проверять не мою таблицу
Вы мешаете в кучу совершенно разные вещи. Набор прав необходимых для 
доступа к объекту ассоциирован с ним самим. Это и есть _так_ и быть 
иначе не может (в случае ФС это file mode или ACL, если эта ФС их 
поддерживает). Субъект в свою очередь обладает некоторым набором прав, 
которые и сравниваются с теми, которые необходимы для доступа к 
объекту. Что тут неестесственного-то?

> групп, а таблицу групп (таблицу доступа) того файла и выяснить мои
> текущие права (вот только зачем при этом запрашивать мой процесс о ее
> правах, когда можно и нужно выяснить это  посредством /etc/users,
> /etc/groups, атрибутов файловой системы  и т.д.)
>
А вот это _совсем_ другое дело. Дело в том, что... в системе не 
существует пользователей. Никаких /etc/group для нее не нет и быть не 
должно (вспомните хотя бы ldap, winbind, etc). С точки зрения системы 
аутентификации существуют лишь объекты доступа (пусть это будут файлы) 
и субъекты, которые всегда являются процессами, а не Васей Пупкиным. 
Эти процессы, обладают определенными атрибутами, влияющими на их 
возможности доступа, причем uid, gid и набор групп далеко не 
единственные такие атрибуты. Более того, процессы запущенные одним и 
тем же пользователем могут иметь существенно _разные_ права доступа.
Так называемые "права пользователя" это просто набор прав, которые 
приписывается первому пользовательскому процессу системой. И ничего 
более.

> Я понимаю что текущее положение дел разгружает ядро (ему же не
> приходиться все время вычислять права доступа), однако, господа, на
> дворе уже  21-й век и счет идет уже не на мегагерцы и килобайты, а на
> гигагерцы и мегабайты - можно позволить себе небольшую роскошь -
> вычисление _текущих_ прав пользователя.
>
Речь не о том, что это сложно или неэффективно -- это бессмысленно. 
Когда мегагерцы становятся гигагерцами ACL начинает вытеснять file 
mode, но суть не меняется -- правами обладают процессы, а не 
пользователи.

> > Не забудьте объяснить, как вы намереваетесь изменять содержимое
> > таблиц, ассоциируемых с уже запущенными процессами.
>
> А вот этого то и не надо. Таблица доступа должна ассоциироваться с
> объектом (с файлом грубо говоря) а не с пользователем. Единственное
> что должно ассоциироваться с пользователем - это его id.
>
> PS. А вы смотрите в сторону новеля а не виндов - может что-нибудь и
> изменится.
>
>
> _______________________________________________
> Community mailing list
> Community на altlinux.ru
> http://www.altlinux.ru/mailman/listinfo/community

-- 
Sincerely,
Denis.


Подробная информация о списке рассылки community