* Re: [devel] Re: IA: /usr/sbin/gnome-pty-helper @ 2002-10-05 10:52 morozov 2002-10-06 20:19 ` Dmitry V. Levin 0 siblings, 1 reply; 9+ messages in thread From: morozov @ 2002-10-05 10:52 UTC (permalink / raw) To: devel 10/04/2002 21:19:17 devel-admin wrote: >> Ну, в этой схеме есть один недостаток: у нас не будет GTK'шных >> терминалов. Либо все такие терминалы _обязаны_ делать >> setresgid(getgid()...) до инициализации графической подсистемы. >> Возможно, последнее - вполне разумное требование. > >Одновременно придется запретить им создавать новые файлы. Почему? По-хорошему же, fsgid меняется вместе с egid. Или не меняется? А setfsgid не поможет? >> P.S. setresgid - это чтобы назад пути не было. Если можно забыть про >> сохраненный gid, то можно делать setegid(getgid()) >Нельзя - gtk проверяет все три id. Ну, нельзя так нельзя. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Re: IA: /usr/sbin/gnome-pty-helper 2002-10-05 10:52 [devel] Re: IA: /usr/sbin/gnome-pty-helper morozov @ 2002-10-06 20:19 ` Dmitry V. Levin 2002-10-07 7:15 ` Alexey Morozov 0 siblings, 1 reply; 9+ messages in thread From: Dmitry V. Levin @ 2002-10-06 20:19 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 617 bytes --] On Sat, Oct 05, 2002 at 05:52:01PM +0700, morozov@novosoft.ru wrote: > >> Ну, в этой схеме есть один недостаток: у нас не будет GTK'шных > >> терминалов. Либо все такие терминалы _обязаны_ делать > >> setresgid(getgid()...) до инициализации графической подсистемы. > >> Возможно, последнее - вполне разумное требование. > > > >Одновременно придется запретить им создавать новые файлы. > Почему? По-хорошему же, fsgid меняется вместе с egid. Или не меняется? А > setfsgid не поможет? Нет, поскольку смена egid влечет за собой смену fsgid. Конечно, можно сделать fork+pipe, но это уже совсем другая история. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Re: IA: /usr/sbin/gnome-pty-helper 2002-10-06 20:19 ` Dmitry V. Levin @ 2002-10-07 7:15 ` Alexey Morozov 2002-10-07 9:36 ` Dmitry V. Levin 0 siblings, 1 reply; 9+ messages in thread From: Alexey Morozov @ 2002-10-07 7:15 UTC (permalink / raw) To: ALT Devel discussion list On Mon, Oct 07, 2002 at 12:19:04AM +0400, Dmitry V. Levin wrote: > > >Одновременно придется запретить им создавать новые файлы. > > Почему? По-хорошему же, fsgid меняется вместе с egid. Или не меняется? А > > setfsgid не поможет? > Нет, поскольку смена egid влечет за собой смену fsgid. Дык тогда все хорошо? Главное - сбросить egid до gid до создания каких-либо файлов. Или я чего-то недопонимаю в процессе? > Конечно, можно сделать fork+pipe, но это уже совсем другая история. Хмм... Из пушки... ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Re: IA: /usr/sbin/gnome-pty-helper 2002-10-07 7:15 ` Alexey Morozov @ 2002-10-07 9:36 ` Dmitry V. Levin 2002-10-08 6:31 ` Alexey Morozov 0 siblings, 1 reply; 9+ messages in thread From: Dmitry V. Levin @ 2002-10-07 9:36 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 915 bytes --] On Mon, Oct 07, 2002 at 02:15:58PM +0700, Alexey Morozov wrote: > > > >Одновременно придется запретить им создавать новые файлы. > > > Почему? По-хорошему же, fsgid меняется вместе с egid. Или не меняется? А > > > setfsgid не поможет? > > Нет, поскольку смена egid влечет за собой смену fsgid. > Дык тогда все хорошо? Главное - сбросить egid до gid до создания > каких-либо файлов. Или я чего-то недопонимаю в процессе? Запускающий helper процесс должен входить в группу utempter. Если он сбросит права раньше срока, то получит EACCES. Если он их не сбросит до инициализации Gtk, то последний его пошлет. Если же он выставит все group IDs в utempter, то получается ерунда с доступом к файловой системе - отсюда и запрет на создание файлов. > > Конечно, можно сделать fork+pipe, но это уже совсем другая история. > Хмм... Из пушки... Зато реально. Других рабочих вариантов до сих пор предложено не было. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Re: IA: /usr/sbin/gnome-pty-helper 2002-10-07 9:36 ` Dmitry V. Levin @ 2002-10-08 6:31 ` Alexey Morozov 2002-10-08 7:49 ` Dmitry V. Levin 0 siblings, 1 reply; 9+ messages in thread From: Alexey Morozov @ 2002-10-08 6:31 UTC (permalink / raw) To: ALT Devel discussion list On Mon, Oct 07, 2002 at 01:36:01PM +0400, Dmitry V. Levin 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+ и всяких прочих там виджетсетов/библиотек и всего остального. плюсы: достаточная простота реализации, минимизация изменений в сравнении с vanilla sources. минус: существуют проблемы с отслеживанием момента закрытия терминала. Впрочем, насколько я понимаю, в случае пробоя в терминале уверенности в том, что злоумышленник не "закроет" запись в utmp до начала деструктивных действий нет никакой... Кстати, возможно, идея с долгоживущим utempter'ом или привилегированным процессом его запускающим, возможно, заслуживает рассмотрения... Но здесь, опять же, есть минус: поскольку процесс все же принадлежит пользователю, то он может читать/модифицировать его память... ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Re: IA: /usr/sbin/gnome-pty-helper 2002-10-08 6:31 ` Alexey Morozov @ 2002-10-08 7:49 ` Dmitry V. Levin 2002-10-08 8:38 ` Alexey Morozov 2002-10-08 13:16 ` [devel] а оно _вообще_ -- нужно? (was: IA: /usr/sbin/gnome-pty-helper) Michael Shigorin 0 siblings, 2 replies; 9+ messages in thread From: Dmitry V. Levin @ 2002-10-08 7:49 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1621 bytes --] 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 [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Re: IA: /usr/sbin/gnome-pty-helper 2002-10-08 7:49 ` Dmitry V. Levin @ 2002-10-08 8:38 ` Alexey Morozov 2002-10-08 8:54 ` Dmitry V. Levin 2002-10-08 13:16 ` [devel] а оно _вообще_ -- нужно? (was: IA: /usr/sbin/gnome-pty-helper) Michael Shigorin 1 sibling, 1 reply; 9+ messages in thread From: Alexey Morozov @ 2002-10-08 8:38 UTC (permalink / raw) To: ALT Devel discussion list On Tue, Oct 08, 2002 at 11:49:56AM +0400, Dmitry V. Levin wrote: > > 0. права на терминал 02511 root:utempter > Т.е. на эмулятор терминала. Разумеется :-). Внесете соответствующие изменения в menu? :-) > > 1. запуск терминала (egid == utempter, gid == user_gid) > > | > > \_ 2. запуск pty-helper > > 3. сброс привилегий в _gid_ (не в egid!). > > 4. инициализация GTK+ и всяких прочих там виджетсетов/библиотек и > > всего остального. > Выполнение пункта 2 до пункта 4, скорее всего, потребует серьезного > изменения в коде эмуляторов. Хм... Очень странно. Это ж в ровности один вызов utempter_add_record? > > плюсы: достаточная простота реализации, минимизация изменений в > > сравнении с vanilla sources. > > минус: существуют проблемы с отслеживанием момента закрытия > Сформулирую иначе: нет способа внести запись о закрытии терминала. :-) > > Кстати, возможно, идея с долгоживущим utempter'ом или привилегированным > > процессом его запускающим, возможно, заслуживает рассмотрения... > Можно даже сервер сделать. :) Ну, сервер не сервер... Долгоживущий процесс... > > Но здесь, опять же, есть минус: поскольку процесс все же принадлежит > > пользователю, то он может читать/модифицировать его память... > Не может - процесс то ведь привилегированный. Гхм... И то правда. > > > -- > ldv ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [devel] Re: IA: /usr/sbin/gnome-pty-helper 2002-10-08 8:38 ` Alexey Morozov @ 2002-10-08 8:54 ` Dmitry V. Levin 0 siblings, 0 replies; 9+ messages in thread From: Dmitry V. Levin @ 2002-10-08 8:54 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1248 bytes --] On Tue, Oct 08, 2002 at 03:38:46PM +0700, Alexey Morozov wrote: > > > 1. запуск терминала (egid == utempter, gid == user_gid) > > > | > > > \_ 2. запуск pty-helper > > > 3. сброс привилегий в _gid_ (не в egid!). > > > 4. инициализация GTK+ и всяких прочих там виджетсетов/библиотек и > > > всего остального. > > Выполнение пункта 2 до пункта 4, скорее всего, потребует серьезного > > изменения в коде эмуляторов. > Хм... Очень странно. Это ж в ровности один вызов utempter_add_record? Дело в том, что нельзя c помощью utempter'а внести информацию о терминале, которого еще нет. А некоторые эмуляторы (i.e. screen) создают терминалы по мере надобности. > > > плюсы: достаточная простота реализации, минимизация изменений в > > > сравнении с vanilla sources. > > > минус: существуют проблемы с отслеживанием момента закрытия > > Сформулирую иначе: нет способа внести запись о закрытии терминала. > :-) > > > > Кстати, возможно, идея с долгоживущим utempter'ом или привилегированным > > > процессом его запускающим, возможно, заслуживает рассмотрения... > > Можно даже сервер сделать. :) > Ну, сервер не сервер... Долгоживущий процесс... Можно и сервер, с авторизацией через unix domain socket. Но это не меняет сути дела. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* [devel] а оно _вообще_ -- нужно? (was: IA: /usr/sbin/gnome-pty-helper) 2002-10-08 7:49 ` Dmitry V. Levin 2002-10-08 8:38 ` Alexey Morozov @ 2002-10-08 13:16 ` Michael Shigorin 1 sibling, 0 replies; 9+ messages in thread From: Michael Shigorin @ 2002-10-08 13:16 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 742 bytes --] On Tue, Oct 08, 2002 at 11:49:56AM +0400, Dmitry V. Levin wrote: > Сформулирую иначе: нет способа внести запись о закрытии терминала. С другой стороны: а оно нужно? Лично мне этот логгинг только мешает, т.к. открыть/захлопнуть окошко -- дело крайне частое, при этом реально важные записи от *dm -- попросту теряются в потоке. Никакой аутентификационной нагрузки -- не несет. Смысловой -- тоже ("с восьми утра до десяти вечера усиленно работали в ...двухстах экземплярах aterm(1). О!"). Поэтому был бы рад выслушать аргументы "за" -- вдруг выяснится, что и мальчика-то не было. :-) И извиняюсь, если что-то пропустил. -- ---- WBR, Michael Shigorin <mike@altlinux.ru> ------ Linux.Kiev http://www.linux.kiev.ua/ [-- Attachment #2: Type: application/pgp-signature, Size: 187 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2002-10-08 13:16 UTC | newest] Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2002-10-05 10:52 [devel] Re: IA: /usr/sbin/gnome-pty-helper morozov 2002-10-06 20:19 ` Dmitry V. Levin 2002-10-07 7:15 ` Alexey Morozov 2002-10-07 9:36 ` Dmitry V. Levin 2002-10-08 6:31 ` Alexey Morozov 2002-10-08 7:49 ` Dmitry V. Levin 2002-10-08 8:38 ` Alexey Morozov 2002-10-08 8:54 ` Dmitry V. Levin 2002-10-08 13:16 ` [devel] а оно _вообще_ -- нужно? (was: IA: /usr/sbin/gnome-pty-helper) Michael Shigorin
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git