LINUX.ORG.RU
ФорумAdmin

Юзеры не ищутся в AD

 , ,


0

1

Настраиваю sssd. Нашел некий мануал, включил sssd в nsswitch.conf, вписал реквизиты AD-контроллера. При попытке входа AD-юзером в /var/log/secure сообщения вида


Jun  7 11:39:47 template-centos6 login: pam_unix(login:auth): check pass; user unknown                                                 
Jun  7 11:39:47 template-centos6 login: pam_unix(login:auth): authentication failure; logname=LOGIN uid=0 euid=0 tty=tty1 ruser= rhost=
Jun  7 11:39:47 template-centos6 login: pam_succeed_if(login:auth): error retrieving information about user user01                     
Jun  7 11:39:49 template-centos6 login: FAILED LOGIN 1 FROM (null) FOR user01, User not known to the underlying authentication module  

То есть такое ощущение, что к sssd никто не обращается.

Поставил ловушки в auditd на nsswitch.conf и sssd.conf, первый при попытке входа дергает процесс /bin/login, второй не дергает никто (ну и логично - при запуске демона sssd все оттуда берется и там хранится, видимо).

Как понять, почему нет обращений к sssd?

nsswitch.conf:


passwd:     files sss                          
shadow:     files sss                          
group:      files sss                          
                                               
#hosts:     db files nisplus nis dns           
hosts:      files dns                          
                                               
# Example - obey only what nisplus tells us... 
#services:   nisplus [NOTFOUND=return] files   
#networks:   nisplus [NOTFOUND=return] files   
#protocols:  nisplus [NOTFOUND=return] files   
#rpc:        nisplus [NOTFOUND=return] files   
#ethers:     nisplus [NOTFOUND=return] files   
#netmasks:   nisplus [NOTFOUND=return] files   
                                               
bootparams: nisplus [NOTFOUND=return] files    
                                               
ethers:     files                              
netmasks:   files                              
networks:   files                              
protocols:  files                              
rpc:        files                              
services:   files sss                          
                                               
netgroup:   files sss                          
                                               
publickey:  nisplus                            
                                               
automount:  files                              

★★★

Последнее исправление: pianolender (всего исправлений: 1)

В pam тоже нужно прописать sss

auth        sufficient    pam_sss.so use_first_pass
account     [default=bad success=ok user_unknown=ignore] pam_sss.so
password    sufficient    pam_sss.so use_authtok
session     optional      pam_sss.so
user_undefined
()
Ответ на: комментарий от anonymous

В одном из предыдущих тредов пришел к выводу, что он мне не подходит - мне нужно кешировать авторизацию на случай недоступности контроллеров

pianolender ★★★
() автор топика
Ответ на: комментарий от pianolender

winbind кэширование умеет, но направление мысли winbind -> sssd верное, никак не наоборот.


# grep -r sss /etc/pam.d
/etc/pam.d/system-auth-ac:auth sufficient pam_sss.so use_first_pass
/etc/pam.d/system-auth-ac:account [default=bad success=ok user_unknown=ignore] pam_sss.so
/etc/pam.d/system-auth-ac:password sufficient pam_sss.so use_authtok
/etc/pam.d/system-auth-ac:session optional pam_sss.so
/etc/pam.d/fingerprint-auth-ac:account [default=bad success=ok user_unknown=ignore] pam_sss.so
/etc/pam.d/fingerprint-auth-ac:session optional pam_sss.so
/etc/pam.d/password-auth-ac:auth sufficient pam_sss.so use_first_pass
/etc/pam.d/password-auth-ac:account [default=bad success=ok user_unknown=ignore] pam_sss.so
/etc/pam.d/password-auth-ac:password sufficient pam_sss.so use_authtok
/etc/pam.d/password-auth-ac:session optional pam_sss.so
/etc/pam.d/smartcard-auth-ac:account [default=bad success=ok user_unknown=ignore] pam_sss.so
/etc/pam.d/smartcard-auth-ac:session optional pam_sss.so

это на F18
и /etc/sssd/sssd.conf в студию.

там же в конф можно выставлять дебаг на все компоненты sssd типа так debug_level = 0x1580 или debug_level = 0x0270

mos ★★☆☆☆
()
Ответ на: комментарий от blind_oracle

эээ, а обращаться к этим рулящим (в виде AD) ты как собрался?

для этого глючащее говно и нужно. но поскольку оно такое говно, шапка запилила sssd. вот он и destined to рулить.

mos ★★☆☆☆
()
Ответ на: комментарий от mos
[sssd]                                                                                               
config_file_version = 2                                                                              
debug_level = 0x0270                                                                                 
sbus_timeout = 30                                                                                    
services = nss, pam                                                                                  
domains = RATEST.LOCAL                                                                               
                                                                                                     
[nss]                                                                                                
debug_level = 0x0270                                                                                 
filter_users = root,ldap,named,avahi,haldaemon,dbus,radvd,tomcat,radiusd,news,mailman,nscd,gdm       
filter_groups = root,ldap,named,avahi,haldaemon,dbus,radvd,tomcat,radiusd,news,mailman,nscd,gdm      
                                                                                                     
[pam]                                                                                                
debug_level = 0x0270                                                                                 
pam_verbosity = 3                                                                                    
                                                                                                     
[domain/RATEST.LOCAL]                                                                                
id_provider = ldap                                                                                   
auth_provider = krb5                                                                                 
chpass_provider = krb5                                                                               
ldap_search_base = dc=ratest,dc=local                                                                
ldap_schema = rfc2307bis                                                                             
ldap_user_object_class = user                                                                        
ldap_user_member_of = memberOf                                                                       
ldap_user_name = sAMAccountName                                                                      
ldap_user_home_directory = unixHomeDirectory                                                         
ldap_user_uuid = objectGUID                                                                          
ldap_user_modify_timestamp = whenChanged                                                             
ldap_user_ad_account_expires = userAccountControl                                                    
ldap_account_expire_policy = ad                                                                      
ldap_force_upper_case_realm = True                                                                   
ldap_group_object_class = group                                                                      
ldap_group_uuid = objectGUID                                                                         
ldap_group_modify_timestamp = whenChanged                                                            
ldap_sasl_mech = GSSAPI                                                                              
krb5_realm = RATEST.LOCAL                                                                            
ldap_account_expire_policy = ad                                                                      
krb5_ccachedir = /var/tmp                                                                            
# DISABLED BY DEFAULT - krb5_store_password_if_offline = true                                        
ldap_referrals = False                                                                               
enumerate = True                                                                                     
ldap_user_search_base = dc=ratest,dc=local?sub?(&(objectclass=user)(uidNumber=*))                    
ldap_group_search_base = dc=ratest,dc=local?sub?(&(objectclass=group)(gidNumber=*))                  

Не понимаю только, почему в логе secure ругань от pam_unix, не от pam_sss? Это же значит, что к pam_sss даже не обращались, а это зависит только от nsswitch.conf - разве я не прав?

pianolender ★★★
() автор топика
Ответ на: комментарий от pianolender

1) Дистр, где sssd - какой? Если можешь, сравни с тем, что у меня в pam.d

2) Перезапусти демон с дебагом, посмотри логи в /var/log/sssd - выложи на пастбин, там обычно можно что-то интересное увидеть. в т.ч. что делают модули nss и pam

3) на AD должны быть включены services for unix и заполнены соотв. аттрибуты. а то на моей работке видел, что атрибуты то есть у аккаунтов, а значения все по нулям.

4) по всему конфигу комментировать пока не готов (сначала надо логи поглядеть), да и кто-нибудь более опытный (особенно с АДшной стороной) не помешает, но вот например эта строчка ldap_sasl_mech = GSSAPI означает, что sssd будет биндиться к ldap (т.е. АД) не с простой аутентификацией, а через sasl/gssapi/kerberos, по умолчанию используя принципала host/FQDN@DOMAIN.COM. может быть пока лучше закомментить это и заставить sssd биндиться каким-нибудь cn=admin,dn=domain,dn=com ?

mos ★★☆☆☆
()
Ответ на: комментарий от blind_oracle

спасибо, я курсе таких основ.

как ты к ним обращаться с клиентского хоста будешь? это все равно что сказать, руль у машины гавно, вот движок - это сила.

вот и сошлись на том, что sssd как замена winbind вполне годен. для этого он и сделан.

mos ★★☆☆☆
()
Ответ на: комментарий от mos

дебаг 0x4000, перезапустил sssd, при попытке входа пользователем из AD никаких записей в лог не падает

к sss не обращаются. Как понять, почему?

pianolender ★★★
() автор топика
Ответ на: комментарий от pianolender

ты уверен, что это самый подробный дебаг? попробуй из моих постов.

у меня плевал он туда много.

mos ★★☆☆☆
()
Ответ на: комментарий от mos

ты уверен, что это самый подробный дебаг

самый подробный из тех, про которые написано в документации

pianolender ★★★
() автор топика
Ответ на: комментарий от pianolender

значит ковыряй конфиг pam

свой я привел. делалось не руками, автоматом.

mos ★★☆☆☆
()
Ответ на: комментарий от pianolender

не уверен. значения из мана надо складывать. а что такое Extremely low-level tracing information не понятно. но видимо не синоним «выложить вообще всё что есть».

mos ★★☆☆☆
()

При работе с sssd, сначала надо отладить NSS (добиться, чтобы id <AD_user_name> работало). Потом уже лезть в PAM. И вообще, покажи полный конфиг PAM (для федоры например это /etc/pam.d/system-auth или там же system-auth-ac)

no-dashi ★★★★★
()
Ответ на: комментарий от no-dashi

чтобы id <AD_user_name> работало

Воот. Отсюда и толкнусь.

конфиг пама:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth        required      pam_env.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_sss.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_sss.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 type=
password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password    sufficient    pam_sss.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     optional      pam_mkhomedir.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_sss.so

насколько я помню, он сгенерировался по команде authconfig

pianolender ★★★
() автор топика
Последнее исправление: pianolender (всего исправлений: 1)
Ответ на: комментарий от no-dashi

А почему во всех манах по sssd в конфиге pam pam_sss стоит после pam_unix?

pianolender ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.