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