[devel] getlogin broken in glibc-2.2.4-alt2

Alexey Voinov =?iso-8859-1?q?voins_=CE=C1_voins=2Eprogram=2Eru?=
Пн Сен 24 21:47:38 MSD 2001


Dmitry V. Levin wrote
> On Sun, Sep 23, 2001 at 09:04:06PM +0400, Sergey Vlasov wrote:
> > > $ rpm -q glibc glibc-devel
> > > glibc-2.2.4-alt2
> > > glibc-devel-2.2.4-alt2
> > > 
> > > a.out - это маленькая програмка, корая лежитт в аттаче,
> > > печатает ответ от функции getlogin. Функция документированная,
> > > никаких пометок относительно obsoleted или deprecated я не заметил.
> > > 
> > > $ ./a.out
> > > getlogin returned: LOGIN
> > > 
> > > А вроде как должно сказать: voins.
> > > 
> > > Есть подозрение, что это буг в glibc.
> Это наименее вероятно.
Даже спорить не буду :)

$ rpm -q login su pam
login-0.60-alt5
su-0.60-alt5
pam-0.75-alt10

В консоли

$ /home/voins/projects/a.out
getlogin returned: LOGIN

$ su -l voins -c /home/voins/projects/a.out 
getlogin returned: LOGIN

В xterm

$ /home/voins/projects/a.out
getlogin returned: (null)

$ su -l voins -c /home/voins/projects/a.out
getlogin returned: voins

Если у su не вводить пароль, то в /var/log/messages падает замечательная
строчка:
authentication failure; logname=LOGIN uid=500 euid=0 tty=tty2 ruser=LOGIN rhost=localhost  user=root

И так, подозрения теперь на пакеты: pam, su, login.
У кого-нибудь осталась система со старыми версиями этих пакетов? 
У меня на работе не сильно обновлённая система. Завтра попробую там.

> 
> > У меня вот так.
> > 
> > Из xterm:
> > $ ./a.out
> > getlogin returned: (null)
> > $ su -c ./a.out 
> > Password: 
> > getlogin returned: (null)
> 
> А если запускать su с опцией "-l"?
> > 
> > С консоли:
> > $ ./a.out
> > getlogin returned: (null)
> > $ su -c ./a.out 
> > Password: 
> > getlogin returned: vsu
> > 
> > С консоли при заходе рутом:
> > # ./a.out
> > getlogin returned: root
> > 
> > 
> > $ rpm -q glibc glibc-devel
> > glibc-2.2.4-alt2
> > glibc-devel-2.2.4-alt2
> > (бинарные пакеты у меня не из Сизифа, а результат rpm --rebuild)
> > 
> > 
> > Как я понял, getlogin работает через utmp, поэтому под X эта
> > функция в принципе бесполезна.  Хотя вот этот возврат LOGIN -
> > что-то подозрительное.
> 
> Результат getlogin целиком и полностью зависит от содержимого utmp
> (возвращаемого функцией getutline_r). Так что вопрос в том, кто и как туда
> записывает.
> 
> Проверьте версии пакетов login, su, ..., и расскажите о результатах.

-- 
Best Regards!           | Когда вам платят за работу, надо по крайней мере
Alexey Voinov           | делать вид, что вы работаете...
                        |                         Б.Виан "Осень в Пекине"
voins на voins.program.ru
voins на online.ru
vns на altlinux.ru

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 232 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20010924/763250fa/attachment-0001.bin>


Подробная информация о списке рассылки Devel