[Comm] Авторизация из /etc/passwd и ldap одновременно: как правильно?

Eugene Prokopiev =?iso-8859-1?q?john_=CE=C1_rmts=2Edonpac=2Eru?=
Пн Апр 19 11:08:51 MSD 2004


Здравствуйте!

Как сделать так, чтобы в системе могли авторизоваться пользователи, 
прописанные как в /etc/passwd, так и в ldap?

On Saturday 17 April 2004 12:58 Denis S. Filimonov поделился своими 
рабочими конфигами:

system-auth:

#%PAM-1.0
auth            required      /lib/security/pam_ldap.so
#auth           required      /lib/security/pam_tcb.so shadow fork nullok
account         required      /lib/security/pam_access.so
account         required      /lib/security/pam_ldap.so
#account        required      /lib/security/pam_tcb.so shadow fork
password        required      /lib/security/pam_ldap.so
#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

system-auth-use_first_pass:

#%PAM-1.0
auth            required      /lib/security/pam_ldap.so use_first_pass
#auth           required      /lib/security/pam_tcb.so shadow fork 
nullok use_first_pass
password        required      /lib/security/pam_ldap.so
#password       required      /lib/security/pam_tcb.so use_authtok 
shadow fork prefix=$2a$ count=8 write_to=tcb

Насколько я понял, в таком варианте используется только ldap. Мне же 
нужно сохранить и то, что было, добавив пользователей из ldap. Написал 
следующее:

system-auth:

#%PAM-1.0
auth           sufficient      /lib/security/pam_ldap.so
auth            required        /lib/security/pam_tcb.so shadow fork 
prefix=$2a$ count=8 nullok
account                sufficient      /lib/security/pam_ldap.so
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

system-auth-use_first_pass:

#%PAM-1.0
auth           sufficient      /lib/security/pam_ldap.so
auth            required        /lib/security/pam_tcb.so shadow fork 
prefix=$2a$ count=8 nullok use_first_pass
password        required        /lib/security/pam_tcb.so use_authtok 
shadow fork prefix=$2a$ count=8 write_to=tcb

Т.е. просто для методов авторизации auth и account добавил sufficient 
    /lib/security/pam_ldap.so

После этого получилось следующее:

1. По ssh все равно пускают только пользователей из /etc/passwd, 
пользователей из ldap посылают подальше со следующими словами:

Apr 19 10:51:09 john-ws pam_tcb[2060]: sshd: Authentication failed for 
vasya from (uid=0)
Apr 19 10:51:11 john-ws sshd[2061]: Failed password for vasya from 
192.168.46.2 port 4631

2. su - могут использовать как ldap, так и /etc/passwd-пользователи, но 
для su - ldap-user пароль надо вводить один раз, а для su - passwd-user 
  необходимо вводить пароль дважды:

[john на john-ws john]$ su - john
Password:
Password:
[john на john-ws john]$ su - vasya
Password:
-bash-2.05b$

sshd выглядит так:

#%PAM-1.0
auth    required        /lib/security/pam_userpass.so
auth    required        /lib/security/pam_stack.so 
service=system-auth-use_first_pass
auth    required        /lib/security/pam_nologin.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

su выглядит так:

#%PAM-1.0
auth    sufficient      /lib/security/pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" 
group.
#auth   sufficient      /lib/security/pam_wheel.so debug use_uid 
group=wheel trust
# Uncomment the following line to require a user to be in the "wheel" group.
#auth   required        /lib/security/pam_wheel.so debug use_uid group=wheel
# Uncomment the following line to implicitly trust users with same user id.
#auth   sufficient      /lib/security/pam_sameuid.so debug
auth    required        /lib/security/pam_stack.so service=system-auth
account required        /lib/security/pam_stack.so service=system-auth
password        required        /lib/security/pam_deny.so
session required        /lib/security/pam_stack.so service=system-auth
session optional        /lib/security/pam_xauth.so

я их не правил.

Что я сделал неправильно и как сделать правильно?

-- 
С уважением, Прокопьев Евгений




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