From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: "Denis S. Filimonov" To: community@altlinux.ru Subject: Re: [Comm] Groups Date: Sat, 5 Jul 2003 12:31:19 +0700 User-Agent: KMail/1.5 References: <200307041515.46634.shawkat@samitc.uzsci.net> <10651701022.20030704215138@udm.ru> <200307050926.19793.shawkat@samitc.uzsci.net> In-Reply-To: <200307050926.19793.shawkat@samitc.uzsci.net> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-u" Content-Transfer-Encoding: 8bit Content-Disposition: inline Message-Id: <200307051231.19878.den@academ.org> X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.1 Precedence: list Reply-To: community@altlinux.ru List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jul 2003 05:31:21 -0000 Archived-At: List-Archive: List-Post: 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. >>From shawkat@samitc.uzsci.net Sat Jul 5 09:51:56 2003 Return-Path: Delivered-To: community@lrn.ru Received: from master.altlinux.ru (master.altlinux.ru [62.118.250.235]) by lrn.ru (Postfix) with ESMTP id 320174918C for ; Sat, 5 Jul 2003 09:51:56 +0400 (MSD) Received: from samitc.uzsci.net (unknown [194.67.216.221]) by master.altlinux.ru (Postfix) with ESMTP id 4F680E31CF for ; Sat, 5 Jul 2003 09:51:55 +0400 (MSD) Received: from localhost.localdomain (unknown [192.168.0.239]) by samitc.uzsci.net (Postfix) with ESMTP id B9008137501 for ; Sat, 5 Jul 2003 10:38:50 +0500 (UZT) From: Shawkat To: community@altlinux.ru Subject: Re: [Comm] Groups Date: Sat, 5 Jul 2003 10:42:43 +0500 User-Agent: KMail/1.5 References: <200307041515.46634.shawkat@samitc.uzsci.net> <200307050926.19793.shawkat@samitc.uzsci.net> <200307051231.19878.den@academ.org> In-Reply-To: <200307051231.19878.den@academ.org> MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-u" Content-Transfer-Encoding: 8bit Content-Disposition: inline Message-Id: <200307051042.43840.shawkat@samitc.uzsci.net> X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.1 Precedence: list Reply-To: community@altlinux.ru List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jul 2003 05:51:56 -0000 > Набор прав необходимых для > доступа к объекту ассоциирован с ним самим. Это и есть _так_ и быть > иначе не может (в случае ФС это file mode или ACL, если эта ФС их > поддерживает). Субъект в свою очередь обладает некоторым набором прав, > которые и сравниваются с теми, которые необходимы для доступа к > объекту. Совершенно верно - так это я себе и представляю. > Что тут неестесственного-то? Неестесвенно, откуда берется набор прав субъекта. Он запрашивается у самого субъекта, хотя можно было бы эти же самые права элементарно рассчитать. Пример : у субъекта запрашивается только uid - по нему и по _текущему_ содержимому /etc/groups ядро высчитывает в какие группы входит пользователь (расчитав из /etc/passwords по uid его username). И уже по высчитанному значению прав субъекта (а не по запрошенному у субъекта) и идет сравнение с правами необходимыми для доступа к объекту. Я не кернел-программист, но думаю это совсем не сложно - ведь _это_же_самое_ вычисление производится в момент логина пользователя. Кто мешает вместо функции _запроса_ прав_у_процесса выполнять _функцию_начального_расчета_прав ? > Так называемые "права пользователя" это просто набор прав, которые > приписывается первому пользовательскому процессу системой. И ничего > более. Ну вот зачем так ? Зачем _статически_ приписывать права пользователя первому пользовательскому процессу (и все последующие их наследуют), когда их можно (и на мой взгляд - нужно) рассчитывать _динамически_ ? Мне всегда почему то казалось что так оно и есть в линуксе, однако теперь я неприятно удивлен.