On Thu, Oct 03, 2002 at 07:17:04PM +0700, Alexey Morozov wrote: > > > > > Означает ли это, что все, кто хочет использовать Gnome terminal, > > > > > должны входить в группу libutempter? > > > > Нет, конечно. > > > > Просто все терминалы должны быть sgid-utempter. > > > > См. xterm в качестве примера. > > > http://www.gtk.org/setuid.html > > GTK security is not my problem. :) > Дмитрий, Вы понимаете, что принимаемое Вами решение вызовет > _необходимость_ вести _свою_ ветку GTK+? Потому что простым патчем дело > уме не обойдется, придется _аккуратно_ следить, что GNOME Terminal и, > насколько я помню, Eterm вполне секурны и все такое? Я в этом, например, > совершенно не уверен. Равно как не уверен в том, что xterm нынче не > пробиваем. Как говорится, "единожды солгав" и все такое... И г-да > GTK'шники обосновывают свою позицию совершенно верно, они просто не в > состоянии проконтролировать всю свою требуху и, что обиднее, надежность > Xlib итп (что, собственно, и показывают многочисленные эксплойты для > того же xterm) Т.е. Вы предлагаете запретить всем этим "неблагонадежным" терминалам прямо или косвенно вносить изменения в utmp&wtmp? Об этом можно подумать... > В этом смысле, если мы не позволяем кому попало писать в utmp/wtmp, то > лучше это делать из приложения, которое можно проверить глазами. > Я за /какой-либо/ pty-helper, который уже должен поднимать привилегии до > нужного уровня, делать всю работу и уходить. Если Вы против именно > gnome-pty-helper'а, "предложите другой, многие Вам спасибо скажут". Единственный helper, которому я доверяю, это /usr/lib/utempter/utempter из пакета libutempter, ибо я написал его с нуля, пользуясь лишь идеей Eric Troan'овского utempter'а. Схема таковa: Есть привилегированный helper (sgid-utmp /usr/lib/utempter/utempter), который может быть запущен только процессом, входящим в группу utempter (или рутом). Таким образом, те пользовательские приложения, которым мы доверяем вносить изменения в utmp&wtmp, делаются sgid-utempter. При этом _все_без_исключения_ остальные sgid-utmp приложения из системы убираются. Вот перечень пакетов в текущем Сизифе, собранных с поддержкой libutempter: Eterm-0.9.1-alt1.2 aterm-0.4.2-alt4 rxvt-2.6.3-ipl9mdk screen-3.9.11-alt1 xterm-167-alt3 -- ldv