[Comm] winbind (maybe again)

Kolya Grechukh =?iso-8859-1?q?ngrechukh_=CE=C1_ua=2Efm?=
Вт Дек 16 19:33:03 MSK 2003


пытаюсь настроить вход под учетной записью nt домена.
дано:
win2000server (админских прав нет, и не понадобились)
master2.2
pam-config-1.1.3-alt1
samba3-3.0-alt46.1m (shrek'овской сборки)
pam-0.75-alt18

самба как таковая уже настроена. в /etc/nsswitch.conf дописываю слово winbind.
passwd:     files winbind nisplus nis
shadow:     winbind  tcb files nisplus nis
group:      files winbind nisplus nis

раскоментировал template shell.

включаю в домен путем 
[kolya на gns kolya]$ sudo net join -U GNS.
[kolya на gns kolya]$ sudo service winbind start
[kolya на gns kolya]$ sudo wbinfo -p
...есть.
[kolya на gns kolya]$ sudo wbinfo -t
...есть.
[kolya на gns kolya]$ sudo wbinfo --set-auth-user
[kolya на gns kolya]$ sudo wbinfo -u 
все работает.

запара вышла с настройкой pam_winbind. /me так и не понял как кошерно в 
понятиях альта включить pam_winbind.
так и не удалось вызвать winbind напрямую из system-auth (так чтобы он 
проверялся для всех сервисов). соответственно, вызов winbind придется 
задавать для каждого сервиса отдельно.

в общем, путем длительных экспериментов, получил следующее:
в pam.d/login
auth    required        /lib/security/pam_stack.so service=system-auth-winbind
account    required   /lib/security/pam_stack.so service=system-auth-winbind
password    required   /lib/security/pam_stack.so service=system-auth-winbind
session  required    /lib/security/pam_stack.so service=system-auth-winbind
(вместо system-auth).

но после этого следующий баг:

логинюсь под именем TDO\GNS с паролем домена.
Dec 16 18:06:44 gns login: PAM pam_parse: expecting return value; [...include]
Dec 16 18:06:44 gns login: PAM unable to 
dlopen(/lib/security/system-auth-use_first_pass)
Dec 16 18:06:44 gns login: PAM [dlerror: 
/lib/security/system-auth-use_first_pass: cannot open shared object file: No 
such file or directory]
Dec 16 18:06:44 gns login: PAM adding faulty module: 
/lib/security/system-auth-use_first_pass
Dec 16 18:06:44 gns login: PAM pam_parse: expecting return value; [...include]
Dec 16 18:06:44 gns login: PAM unable to dlopen(/lib/security/system-auth)
Dec 16 18:06:44 gns login: PAM [dlerror: /lib/security/system-auth: cannot 
open shared object file: No such file or directory]
Dec 16 18:06:44 gns login: PAM adding faulty module: /lib/security/system-auth
Dec 16 18:06:44 gns login: PAM pam_parse: expecting return value; [...include]
Dec 16 18:06:44 gns login: PAM pam_parse: expecting return value; [...include]
Dec 16 18:06:46 gns pam_winbind[21263]: user 'TDO\GNS' granted acces
Dec 16 18:06:46 gns pam_winbind[21263]: user 'TDO\GNS' granted acces
Dec 16 18:06:46 gns login[21263]: unable to open session: Module is unknown
Dec 16 18:06:46 gns login[21263]: pam_open_session: unable to open session

визуально это выглядит как логин прошел, что-то быстро мелькнуло и опять 
приглашению к вводу логина. в систему не заходит. не буду описывать долгий  
поиск решения, скажу результат. чтобы все работало, нужно еще 
закомментировать следующие строчки в system-auth-winbind:

auth     include      system-auth-use_first_pass
account        include        system-auth
password include      system-auth-use_first_pass
session  include      system-auth

этого достаточно (проверено на тестовой машине с чистым мастером + та же 
самба.) логин в консоли работает, и домашняя папка создана.
работает-то все работает, но правильный ли это путь? и почему 
system-auth-winbind глючный, это баг или фича? корректны ли мои 
исправления,не сломал ли я чего. м.б следует в system-auth-winbind написать 
ссылку на system-auth вместо include  в виде sufficient pam_stack 
service=system-auth? 

btw: для применения аутентификации winbind к другим сервисам, в их pam тоже 
придется прописывать system-auth-winbind??

в аттаче конфиги ДО изменений. и вывод diff.

--------
Nick S. Grechukh
kolyag на mail.ru
Refractory Trading House, network administrator.
----------- следующая часть -----------
#%PAM-1.0
auth	required	/lib/security/pam_securetty.so
auth	required	/lib/security/pam_stack.so service=system-auth
auth	required	/lib/security/pam_nologin.so
auth	optional	/lib/security/pam_mail.so
account	required	/lib/security/pam_stack.so service=system-auth
password	required	/lib/security/pam_stack.so service=system-auth
session	required	/lib/security/pam_stack.so service=system-auth
session	optional	/lib/security/pam_lastlog.so nowtmp
session	optional	/lib/security/pam_motd.so
session	optional	/lib/security/pam_console.so
----------- следующая часть -----------
#%PAM-1.0
auth	required	/lib/security/pam_tcb.so shadow fork prefix=$2a$ count=8 nullok
account	required	/lib/security/pam_tcb.so shadow fork
password	required	/lib/security/pam_passwdqc.so min=disabled,24,12,8,7 max=40 passphrase=3 match=4 similar=deny random=42 enforce=users retry=3
password	required	/lib/security/pam_tcb.so use_authtok shadow fork prefix=$2a$ count=8 write_to=tcb
session	required	/lib/security/pam_tcb.so
session	required	/lib/security/pam_limits.so
----------- следующая часть -----------
#%PAM-1.0
auth	 required	pam_securetty.so
auth	 required	pam_nologin.so
auth	 sufficient	pam_winbind.so
auth     include	system-auth-use_first_pass
account  sufficient	pam_winbind.so
account	 include	system-auth
password sufficient	pam_winbind.so
password include	system-auth-use_first_pass
# We use pam_mkhomedir to create home dirs for incoming domain users
# Note used umask, it will result in rwxr-x--x access rights
session  required       pam_mkhomedir.so skel=/etc/skel.ru_RU.CP1251/ umask=0026
session  include	system-auth
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : patch_pam-for-winbind
Тип     : text/x-diff
Размер  : 1744 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/community/attachments/20031216/cd104c6c/attachment-0002.bin>


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