nomiss La rootine | Salut,
Je travaille sur l'intégration d'un poste pilote en Debian 12.5 dans un environnement Microsoft Active Directory.
Celà fait 2 semaines que je suis sur le sujet. J'ai bel et bien réussi à intégrer mon poste sur l'AD mais pour la partie authentification du user, je bloque.
J'ai cette erreur au niveau de sssd
Code :
- juin 26 16:01:25 Computer253 sssd_be[21092]: Starting up
- juin 26 16:01:56 Computer253 sssd[20975]: Child [21092] ('xxx.intra.domain.fr':'%BE_xxx.intra.domain.fr') was terminated by own WATCHDOG. Consult corresponding logs to figure out the reason.
|
Config sssd.conf
Code :
- [sssd]
- domains = xxx.intra.domain.fr
- config_file_version = 2
- services = nss, pam
-
- [domain/xxx.intra.domain.fr]
- ad_domain = xxx.intra.domain.fr
- ad_server = server1, server2, server3
- access_provider =ad
- auth_provider = ad
- id_provider = ad
- default_shell = /bin/bash
- krb5_store_password_if_offline = True
- krb5_realm = XXX.INTRA.DOMAIN.FR
- cache_credentials = True
- realmd_tags = manages-system joined-with-adcli
- fallback_homedir = /home/%u@%d
- use_fully_qualified_names = True
- ldap_id_mapping = True
- debug_level = 1
- enumerate = True
- ldap_user_uid_number = uidNumber
- ldap_user_gid_number = gidNumber
|
Config krb5.conf
Code :
- [libdefaults]
- udp_preference_limit = 0
- default_realm = XXX.INTRA.DOMAIN.FR
- dns_lookup_realm = true
- dns_lookup_kdc = true
|
Cette commande marche :
root@Computer253:/var/log/sssd# getent passwd chucknorris@xxx.intra.domain.fr
chucknorris@xxx.intra.domain.fr:*:7759189:7600513:NORRIS CHUCK:/home/chucknorris@xxx.intra.domain.fr:/bin/bash
|
Une partie du log sssd_xxx.intra.domain.fr.log |
Code :
- * (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [whenChanged]
- * (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [uSNChanged]
- * (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [sdap_get_generic_ext_step] (0x1000): Requesting attrs: [groupType]
- * (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [sdap_get_generic_ext_step] (0x2000): ldap_search_ext called, msgid = 14
- * (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [sdap_op_add] (0x2000): New operation 14 timeout 60
- * (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [sdap_process_result] (0x2000): Trace: sh[0x559ddc9815f0], connected[1], ops[0x559decf99a80], ldap[0x559ddc89f210]
- * (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [sdap_process_result] (0x2000): Trace: end of ldap_result list
- * (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [sdap_op_timeout] (0x1000): Issuing timeout [ldap_opt_timeout] for message id 3
- * (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [sdap_op_destructor] (0x1000): Abandoning operation 3
- * (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [generic_ext_search_handler] (0x0020): sdap_get_generic_ext_recv failed: [110]: Connexion terminée par expiration du délai d'attente [ldap_search_timeout]
- ********************** BACKTRACE DUMP ENDS HERE *********************************
-
- (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [ad_get_slave_domain_done] (0x0020): Unable to lookup slave domain data [110]: Connexion terminée par expiration du délai d'attente
- ********************** PREVIOUS MESSAGE WAS TRIGGERED BY THE FOLLOWING BACKTRACE:
- * (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [sdap_search_bases_ex_done] (0x0400): Receiving data from base [dc=intra,dc=domain,dc=fr]
- * (2024-06-26 17:01:35): [be[xxx.intra.domain.fr]] [ad_get_slave_domain_done] (0x0020): Unable to lookup slave domain data [110]: Connexion terminée par expiration du délai d'attente
|
Une partie du log
Code :
- * (2024-06-26 16:59:56): [sssd] [sbus_senders_add] (0x2000): Inserting identity of sender [sssd.pac]: 0
- * (2024-06-26 16:59:56): [sssd] [monitor_sbus_RegisterService] (0x0100): Received ID registration: (pac,1)
- * (2024-06-26 16:59:56): [sssd] [mark_service_as_started] (0x0200): Marking pac as started.
- * (2024-06-26 16:59:56): [sssd] [mark_service_as_started] (0x0400): All services have successfully started, creating pid file
- * (2024-06-26 16:59:56): [sssd] [notify_startup] (0x0400): Sending startup notification to systemd
- * (2024-06-26 16:59:56): [sssd] [sbus_issue_request_done] (0x0400): sssd.monitor.RegisterService: Success
- * (2024-06-26 16:59:56): [sssd] [sbus_dispatch] (0x4000): Dispatching.
- * (2024-06-26 17:00:01): [sssd] [services_startup_timeout] (0x0400): Handling timeout
- * (2024-06-26 17:00:37): [sssd] [mt_svc_exit_handler] (0x1000): SIGCHLD handler of service xxx.intra.domain.fr called
- * (2024-06-26 17:00:37): [sssd] [svc_child_info] (0x0020): Child [24897] ('xxx.intra.domain.fr':'%BE_xxx.intra.domain.fr') was terminated by own WATCHDOG
- ********************** BACKTRACE DUMP ENDS HERE *********************************
-
- (2024-06-26 17:01:58): [sssd] [svc_child_info] (0x0020): Child [24968] ('xxx.intra.domain.fr':'%BE_xxx.intra.domain.fr') was terminated by own WATCHDOG
- * ... skipping repetitive backtrace ...
- (2024-06-26 17:02:49): [sssd] [svc_child_info] (0x0020): Child [24994] ('xxx.intra.domain.fr':'%BE_xxx.intra.domain.fr') was terminated by own WATCHDOG
- * ... skipping repetitive backtrace ...
- (2024-06-26 17:03:30): [sssd] [svc_child_info] (0x0020): Child [25008] ('xxx.intra.domain.fr':'%BE_xxx.intra.domain.fr') was terminated by own WATCHDOG
- * ... skipping repetitive backtrace ...
- (2024-06-26 17:04:21): [sssd] [svc_child_info] (0x0020): Child [25016] ('xxx.intra.domain.fr':'%BE_xxx.intra.domain.fr') was terminated by own WATCHDOG
|
Code :
- ● sssd.service - System Security Services Daemon
- Loaded: loaded (/lib/systemd/system/sssd.service; enabled; preset: enabled)
- Active: active (running) since Wed 2024-06-26 17:06:53 CEST; 2min 10s ago
- Main PID: 25183 (sssd)
- Tasks: 5 (limit: 37992)
- Memory: 703.4M
- CPU: 1min 33.427s
- CGroup: /system.slice/sssd.service
- ├─25183 /usr/sbin/sssd -i --logger=files
- ├─25190 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files
- ├─25191 /usr/libexec/sssd/sssd_pam --uid 0 --gid 0 --logger=files
- ├─25192 /usr/libexec/sssd/sssd_pac --uid 0 --gid 0 --logger=files
- └─25276 /usr/libexec/sssd/sssd_be --domain xxx.intra.domain.fr --uid 0 --gid 0 --logger=files
-
- juin 26 17:06:53 Computer253 sssd[25183]: Starting up
- juin 26 17:06:53 Computer253 sssd_be[25189]: Starting up
- juin 26 17:06:53 Computer253 sssd_pac[25192]: Starting up
- juin 26 17:06:53 Computer253 sssd_nss[25190]: Starting up
- juin 26 17:06:53 Computer253 sssd_pam[25191]: Starting up
- juin 26 17:06:53 Computer253 systemd[1]: Started sssd.service - System Security Services Daemon.
- juin 26 17:07:44 Computer253 sssd[25183]: Child [25189] ('xxx.intra.domain.fr':'%BE_xxx.intra.domain.fr') was terminated by own WATCHDOG. Consult corresponding logs to figure out the reason.
- juin 26 17:07:44 Computer253 sssd_be[25241]: Starting up
- juin 26 17:08:15 Computer253 sssd[25183]: Child [25241] ('xxx.intra.domain.fr':'%BE_xxx.intra.domain.fr') was terminated by own WATCHDOG. Consult corresponding logs to figure out the reason.
- juin 26 17:08:15 Computer253 sssd_be[25276]: Starting up
|
Quand j'essaye de me connecter avec un AD user par exemple Chuck Norris, ça ne fonctionne pas. Je dois écrire user@domain avec le bon password, ça fonctionne mais je ne passe pas sur le desktop ensuite, je reste sur l'écran de logon. La homedir est créée.
Je ne sais pas où agir à présent ..
[edit] Retour de mon terminal avec les config krb5, sssd.conf, pam légèrement modifée et j'ai cette erreur
Code :
- root@Computer253:/var/log/sssd# systemctl status sssd
- ● sssd.service - System Security Services Daemon
- Loaded: loaded (/lib/systemd/system/sssd.service; enabled; preset: enabled)
- Active: active (running) since Wed 2024-07-03 17:03:26 CEST; 7min ago
- Main PID: 18260 (sssd)
- Tasks: 2 (limit: 37992)
- Memory: 19.5M
- CPU: 3min 32.115s
- CGroup: /system.slice/sssd.service
- ├─18260 /usr/sbin/sssd -i --logger=files
- └─18715 /usr/libexec/sssd/sssd_be --domain intra.domain.fr --uid 0 --gid 0 --logger=files
- juil. 03 17:09:12 Computer253 sssd_be[18610]: ldapdb_canonuser_plug_init() failed in sasl_canonuser_add_plugin(): invalid parameter supplied
- juil. 03 17:09:12 Computer253 sssd_be[18610]: _sasl_plugin_load failed on sasl_canonuser_init for plugin: ldapdb
- juil. 03 17:09:43 Computer253 sssd[18260]: Child [18610] ('intra.domain.fr':'%BE_intra.domain.fr') was terminated by own WATCHDOG. Consult corresponding logs to figure out the reason.
- juil. 03 17:09:43 Computer253 sssd_be[18652]: Starting up
- juil. 03 17:09:43 Computer253 sssd_be[18652]: ldapdb_canonuser_plug_init() failed in sasl_canonuser_add_plugin(): invalid parameter supplied
- juil. 03 17:09:43 Computer253 sssd_be[18652]: _sasl_plugin_load failed on sasl_canonuser_init for plugin: ldapdb
- juil. 03 17:10:34 Computer253 sssd[18260]: Child [18652] ('intra.domain.fr':'%BE_intra.domain.fr') was terminated by own WATCHDOG. Consult corresponding logs to figure out the reason.
- juil. 03 17:10:34 Computer253 sssd_be[18715]: Starting up
- juil. 03 17:10:34 Computer253 sssd_be[18715]: ldapdb_canonuser_plug_init() failed in sasl_canonuser_add_plugin(): invalid parameter supplied
- juil. 03 17:10:34 Computer253 sssd_be[18715]: _sasl_plugin_load failed on sasl_canonuser_init for plugin: ldapdb
|
Spoiler :
root@Computer253var/log/sssd# cat /etc/krb5.conf
[libdefaults]
udp_preference_limit = 0
default_realm = intra.domain.fr
dns_lookup_realm = true
dns_lookup_kdc = true
root@Computer253var/log/sssd# cat /etc/sssd.conf
cat: /etc/sssd.conf: Aucun fichier ou dossier de ce type
root@Computer253var/log/sssd# systemctl status sssd
● sssd.service - System Security Services Daemon
Loaded: loaded (/lib/systemd/system/sssd.service; enabled; preset: enabled)
Active: active (running) since Wed 2024-07-03 17:03:26 CEST; 7min ago
Main PID: 18260 (sssd)
Tasks: 2 (limit: 37992)
Memory: 19.5M
CPU: 3min 32.115s
CGroup: /system.slice/sssd.service
├─18260 /usr/sbin/sssd -i --logger=files
└─18715 /usr/libexec/sssd/sssd_be --domain intra.domain.fr --uid 0 --gid 0 --logger=files
juil. 03 17:09:12 Computer253 sssd_be[18610]: ldapdb_canonuser_plug_init() failed in sasl_canonuser_add_plugin(): invalid parameter supplied
juil. 03 17:09:12 Computer253 sssd_be[18610]: _sasl_plugin_load failed on sasl_canonuser_init for plugin: ldapdb
juil. 03 17:09:43 Computer253 sssd[18260]: Child [18610] ('intra.domain.fr':'%BE_intra.domain.fr') was terminated by own WATCHDOG. Consult corresponding logs to figure out the reason.
juil. 03 17:09:43 Computer253 sssd_be[18652]: Starting up
juil. 03 17:09:43 Computer253 sssd_be[18652]: ldapdb_canonuser_plug_init() failed in sasl_canonuser_add_plugin(): invalid parameter supplied
juil. 03 17:09:43 Computer253 sssd_be[18652]: _sasl_plugin_load failed on sasl_canonuser_init for plugin: ldapdb
juil. 03 17:10:34 Computer253 sssd[18260]: Child [18652] ('intra.domain.fr':'%BE_intra.domain.fr') was terminated by own WATCHDOG. Consult corresponding logs to figure out the reason.
juil. 03 17:10:34 Computer253 sssd_be[18715]: Starting up
juil. 03 17:10:34 Computer253 sssd_be[18715]: ldapdb_canonuser_plug_init() failed in sasl_canonuser_add_plugin(): invalid parameter supplied
juil. 03 17:10:34 Computer253 sssd_be[18715]: _sasl_plugin_load failed on sasl_canonuser_init for plugin: ldapdb
root@Computer253var/log/sssd# cat /etc/krb5.conf
[libdefaults]
udp_preference_limit = 0
default_realm = intra.domain.fr
dns_lookup_realm = true
dns_lookup_kdc = true
root@Computer253var/log/sssd# cat /etc/sssd/sssd.conf [sssd]
domains = intra.domain.fr
default_domain_suffix = intra.domain.fr
config_file_version = 2
# services = nss, pam
implicit_pac_responder = False
[domain/intra.domain.fr]
access_provider =ad
ad_domain = intra.domain.fr
# ad_server = server1, server2, server3
# auth_provider = ad
cache_credentials = True
default_shell = /bin/bash
debug_level = 3
enumerate = True
fallback_homedir = /home/%u@%d
override_homedir = /home/%u@%d
id_provider = ad
ldap_id_mapping = True
ldap_user_uid_number = uidNumber
ldap_user_gid_number = gidNumber
krb5_store_password_if_offline = True
krb5_realm = intra.domain.fr
realmd_tags = manages-system joined-with-adcli use_fully_qualified_names = True
dyndns_update = False
root@Computer253var/log/sssd# cat /etc/pam.conf # ---------------------------------------------------------------------------#
# /etc/pam.conf #
# ---------------------------------------------------------------------------#
#
# NOTE
# ----
#
# NOTE: Most program use a file under the /etc/pam.d/ directory to setup their
# PAM service modules. This file is used only if that directory does not exist.
# ---------------------------------------------------------------------------#
# Format:
# serv. module ctrl module [path] ...[args..] #
# name type flag #
root@Computer253var/log/sssd# cat /etc/pam.d/common-auth #
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the
# traditional Unix authentication mechanisms.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules. See
# pam-auth-update(8) for details.
# here are the per-package modules (the "Primary" block)
auth [success=2 default=ignore] pam_unix.so nullok
auth [success=1 default=ignore] pam_sss.so use_first_pass
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config
root@Computer253var/log/sssd# cat /etc/pam.d/common-
common-account common-auth common-password common-session common-session-noninteractive
root@Computer253var/log/sssd# cat /etc/pam.d/common-account #
# /etc/pam.d/common-account - authorization settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authorization modules that define
# the central access policy for use on the system. The default is to
# only deny service to users whose accounts are expired in /etc/shadow.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules. See
# pam-auth-update(8) for details.
#
# here are the per-package modules (the "Primary" block)
account [success=1 new_authtok_reqd=done default=ignore] pam_unix.so # here's the fallback if no module succeeds
account requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
account required pam_permit.so
# and here are more per-package modules (the "Additional" block)
account sufficient pam_localuser.so account [default=bad success=ok user_unknown=ignore] pam_sss.so # end of pam-auth-update config
root@Computer253var/log/sssd# cat /etc/pam.d/common-session
#
# /etc/pam.d/common-session - session-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define tasks to be performed
# at the start and end of interactive sessions.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules. See
# pam-auth-update(8) for details.
# here are the per-package modules (the "Primary" block)
session [default=1] pam_permit.so
# here's the fallback if no module succeeds
session requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
session required pam_permit.so
# and here are more per-package modules (the "Additional" block)
session required pam_unix.so session optional pam_sss.so session optional pam_systemd.so
session optional pam_mkhomedir.so skel=/etc/skel umask=077
session optional pam_mount.so # end of pam-auth-update config
|
|