[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