Bug 14177

Summary: постоянный login failed при проверке пароля xscrensaver
Product: Sisyphus Reporter: Afanasov Dmitry <ender>
Component: xscreensaverAssignee: Michael Shigorin <mike>
Status: CLOSED NOTABUG QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: ldv, mike
Version: unstable   
Hardware: all   
OS: Linux   

Description Afanasov Dmitry 2008-01-27 02:04:12 MSK
xcreensaver не может проверить пароль. в strace выдает Permission denied на 
open /etc/tcb/user/shadow, также Permissoin denied на execve /usr/lib/chkpwd/
tcb_chkpwd.
проверка показала неверные права на /usr/lib/chkpwd/tcb_chkpwd:
# ls /usr/lib/chkpwd -la
итого 51
drwx--x---  2 root root      80 Янв  5 06:28 .
drwxr-xr-x 81 root root   44144 Янв 26 00:33 ..
-rwx--x--x  1 root root    4932 Ноя  2  2006 tcb_chkpwd

вылечилось chgrp chkpwd на /usr/lib/chkpwd и u+s на файле.

note: ldv@altlinux.org утверждает, что "Каталог /usr/lib/chkpwd и так 
принадлежит группе chkpwd." это только у меня не так встало?

$ rpm -q xscreensaver
xscreensaver-5.04-alt1
Comment 1 Dmitry V. Levin 2008-01-27 02:16:24 MSK
Правильные права на chkpwd такие:
$ rpmquery -lv pam0_tcb |fgrep /chkpwd
drwx--x---    2 root    chkpwd              0 Nov  2  2006 /usr/lib/chkpwd
-rwx------    1 root    root             7008 Nov  2  2006
/usr/lib/chkpwd/tcb_chkpwd

Я убеждён, что неправильные права на /usr/lib/chkpwd вызваны чем угодно но
только не пакетом xscreensaver.

Для исправления local misconfiguration попробуйте переустановить пакет pam0_tcb,
после чего выполнить
control tcb_chkpwd tcb

Рекомендую на всякий случай с помощью rpmverify -Va проверить права на файлы в
других пакетах: некоторые отличия могут свидетельствовать об ошибке.
Comment 2 Sir Raorn 2008-01-27 14:40:13 MSK
Также рекомендую проверить

rpm -V xscreensaver

Плюс к этому, в версии 5.02-alt1 изменился файл /etc/pam.d/xscreensaver,
об'явленный как %config(noreplace), это тоже может влиять на невозможность
разблокировки если:

1. файл менялся локально, в таком случае будет создан /etc/pam.d/xscreensaver.rpmnew
2. после обновления до >=5.02-alt1 демон не был перезапущен, в этом случае будет
работать старый код, несовместимый с новым механизмом
Comment 3 Afanasov Dmitry 2008-01-27 16:51:35 MSK
(In reply to comment #1)
> Правильные права на chkpwd такие:
> $ rpmquery -lv pam0_tcb |fgrep /chkpwd
> drwx--x---    2 root    chkpwd              0 Nov  2  2006 /usr/lib/chkpwd
> -rwx------    1 root    root             7008 Nov  2  2006
> /usr/lib/chkpwd/tcb_chkpwd
> 
> Я убеждён, что неправильные права на /usr/lib/chkpwd вызваны чем угодно но
> только не пакетом xscreensaver.
и вы абсолютно правы. это local misconfiguration.
спасибо, misconfiguration теперь исправлен "правильным путем" :)