From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 8 Oct 2002 11:49:56 +0400 From: "Dmitry V. Levin" To: ALT Devel discussion list Subject: Re: [devel] Re: IA: /usr/sbin/gnome-pty-helper Message-ID: <20021008074956.GA8370@basalt.office.altlinux.ru> Mail-Followup-To: ALT Devel discussion list References: <20021006201904.GB25012@basalt.office.altlinux.ru> <20021007071558.GD11539@pyro.hopawar.private.net> <20021007093601.GD31447@basalt.office.altlinux.ru> <20021008063122.GG11539@pyro.hopawar.private.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="BOKacYhQ+x31HxR3" Content-Disposition: inline In-Reply-To: <20021008063122.GG11539@pyro.hopawar.private.net> X-fingerprint: 9658 398D 181B 1200 8FC5 26B8 F6F8 846B C1E2 3429 Sender: devel-admin@altlinux.ru Errors-To: devel-admin@altlinux.ru X-BeenThere: devel@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: devel@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: --BOKacYhQ+x31HxR3 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit On Tue, Oct 08, 2002 at 01:31:22PM +0700, Alexey Morozov wrote: > > Запускающий helper процесс должен входить в группу utempter. > > Если он сбросит права раньше срока, то получит EACCES. > > Если он их не сбросит до инициализации Gtk, то последний его пошлет. > > Если же он выставит все group IDs в utempter, то получается ерунда с > > доступом к файловой системе - отсюда и запрет на создание файлов. > > > > > > Конечно, можно сделать fork+pipe, но это уже совсем другая история. > > > Хмм... Из пушки... > > Зато реально. Других рабочих вариантов до сих пор предложено не было. > Стоп. А как насчет следующей схемы: > 0. права на терминал 02511 root:utempter Т.е. на эмулятор терминала. > 1. запуск терминала (egid == utempter, gid == user_gid) > | > \_ 2. запуск pty-helper > 3. сброс привилегий в _gid_ (не в egid!). > 4. инициализация GTK+ и всяких прочих там виджетсетов/библиотек и > всего остального. Выполнение пункта 2 до пункта 4, скорее всего, потребует серьезного изменения в коде эмуляторов. > плюсы: достаточная простота реализации, минимизация изменений в > сравнении с vanilla sources. > минус: существуют проблемы с отслеживанием момента закрытия Сформулирую иначе: нет способа внести запись о закрытии терминала. > Кстати, возможно, идея с долгоживущим utempter'ом или привилегированным > процессом его запускающим, возможно, заслуживает рассмотрения... Можно даже сервер сделать. :) > Но здесь, опять же, есть минус: поскольку процесс все же принадлежит > пользователю, то он может читать/модифицировать его память... Не может - процесс то ведь привилегированный. -- ldv --BOKacYhQ+x31HxR3 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.7 (GNU/Linux) iD8DBQE9oo4k9viEa8HiNCkRAkweAJ9Gj8lxTvs7bwZQL9l6nQJ8nYGGbQCfdyYk /vIOs4cuVi6CRTeHmuUxSXY= =fZu8 -----END PGP SIGNATURE----- --BOKacYhQ+x31HxR3--