[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