kamberos प्रमाणीकरण के साथ pam_sss पहुंच से वंचित करना ठीक है


2

मैं Ubuntu 18.04 (सर्वर और क्लाइंट मशीन) पर kerberos प्रमाणीकरण और ldap के साथ sssd का उपयोग करने का प्रयास कर रहा हूं। उबंटू क्लाइंट की तरफ मैंने स्थापित किया sssd sssd-tools संकुल। लेकिन जब मैं अपने ldap के उपयोगकर्ता alice में लॉग इन करना चाहता हूं, तो मैं नहीं कर सकता। मैं देख सकता हूं कि सर्वर टिकट को डिलीवर करता है (सर्वर केर्बोस लॉग्स में) और क्लाइंट कैश में टिकट को दोबारा प्राप्त करता है। Mkhomedir /etc/pam.d/commom-session में अच्छी तरह से मौजूद है।

मैंने पाया कि मखोमेदिर को सक्षम होना चाहिए ताकि मैं भागूं pam-auth-update --package mkhomedir लेकिन कुछ भी नहीं बदला।

वह कहता है:

Jul 19 14:30:12 virtualBox gdm-password]: pam_unix(gdm-password:auth): authentication failure; logname= uid=0 euid=0 tty=/dev/tty1 ruser= rhost=  user=alice
Jul 19 14:30:13 virtualBox gdm-password]: pam_sss(gdm-password:auth): authentication success; logname= uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=alice
Jul 19 14:30:13 virtualBox gdm-password]: pam_sss(gdm-password:account): Access denied for user alice: 6 (Autorisation refusée)
Jul 19 14:30:32 virtualBox gdm-password]: pam_unix(gdm-password:auth): authentication failure; logname= uid=0 euid=0 tty=/dev/tty1 ruser= rhost=  user=alice
Jul 19 14:30:32 virtualBox gdm-password]: pam_sss(gdm-password:auth): authentication failure; logname= uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=alice
Jul 19 14:30:32 virtualBox gdm-password]: pam_sss(gdm-password:auth): received for user alice: 17 (Échec lors de la définition des informations d'identification de l'utilisateur)
Jul 19 14:30:39 virtualBox gdm-password]: pam_unix(gdm-password:auth): authentication failure; logname= uid=0 euid=0 tty=/dev/tty1 ruser= rhost=  user=alice
Jul 19 14:30:39 virtualBox gdm-password]: pam_sss(gdm-password:auth): authentication success; logname= uid=0 euid=0 tty=/dev/tty1 ruser= rhost= user=alice
Jul 19 14:30:39 virtualBox gdm-password]: pam_sss(gdm-password:account): Access denied for user alice: 6 (Autorisation refusée)`

getent passwd <ldap user> काम करता है। मैंने क्लाइंट के krb5.keytab में भी जोड़ा।

यहाँ मेरे विन्यास फाइल।

sssd.conf फ़ाइल:

[sssd]
debug_level = 0xFFF0
config_file_version = 2
services = nss,pam
domains = STAGENFS.FR

[nss]
debug_level = 0xFFF0
filter_users = root
filter_groups = root

[pam]
debug_level = 0xFFF0
offline_credentials_expiration = 1

[domain/STAGENFS.FR]
debug_level = 0xFFF0
ldap_schema = rfc2307
ldap_search_base = ou=tl

id_provider = ldap
auth_provider = krb5
chpass_provider = krb5
access_provider = ldap

ldap_uri = ldaps://ldap02.stagenfs.fr
ldap_referrals = False
ldap_id_use_start_tls = False
cache_credentials = True
account_cache_expiration = 1
enumerate = True
ldap_default_bind_dn = cn=proxyuser,ou=private,ou=tl
ldap_default_authtok_type = password
ldap_default_authtok = ProxyUser123#
ldap_tls_cacert = /etc/ssl/certs/cacert.pem

krb5_realm = STAGENFS.FR
krb5_canonicalize = False
krb5_server = kdc.stagenfs.fr
krb5_kpasswd = kdc.stagenfs.fr
krb5_ccachedir = /cache

nsswitch फ़ाइल:

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat systemd sss
group:          compat systemd sss
shadow:         compat sss
gshadow:        files

hosts:          files mdns4_minimal [NOTFOUND=return] dns myhostname
networks:       files

protocols:      db files
services:       db files sss
ethers:         db files
rpc:            db files

netgroup:       nis sss
sudoers:        files sss

मेरे पास pam.d फ़ाइलों में pam_sss.so है:

# /etc/pam.d/common-account
    account [default=bad success=ok user_unknown=ignore]    pam_sss.so

# /etc/pam.d/common-auth
    auth    [success=1 default=ignore]  pam_sss.so use_first_pass

# /etc/pam.d/common-password
    password    sufficient          pam_sss.so use_authtok

# /etc/pam.d/common-session
    session required    pam_mkhomedir.so skel=/etc/skel/
    session optional            pam_sss.so

क्या आपको पता है कि sssd को libpam_krb5.so की आवश्यकता है? यदि आपके पास कोई विचार है, या यदि आपको अधिक जानकारी की आवश्यकता है, तो संकोच न करें! धन्यवाद।

जवाबों:


2

मुझे लगता है कि आप प्रमाणीकरण और प्राधिकरण का मिश्रण कर रहे हैं। जैसा कि आप लॉग से देख सकते हैं, प्रमाणीकरण चरण सफल होता है (अर्थ है कि क्रेडेंशियल्स सफलतापूर्वक सत्यापित किए गए थे) ...

जुलाई 19 14:30:39 वर्चुअलबॉक्स gdm-password]: pam_sss (gdm- पासवर्ड: ऑक्टो): प्रमाणीकरण सफलता; logname = uid = 0 euid = 0 tty = / dev / tty1 ruser = rhost = user = alice

... लेकिन प्राधिकरण चरण विफल रहता है (जिसका अर्थ है कि उपयोगकर्ता है अनुमति नहीं हैं साख की परवाह किए बिना) सेवा का उपयोग करने के लिए:

जुलाई 19 14:30:39 वर्चुअलबॉक्स gdm-password]: pam_sss (gdm-password: account): उपयोगकर्ता के लिए ऐलिस से वंचित प्रवेश: 6 (ऑटोराइजेशन रिफ़्यूसी)

चूँकि यह संदेश स्वयं pam_sss द्वारा दिखाया गया था, यह SSSD सेटिंग्स से संबंधित है। आपने कॉन्फ़िगर किया है ldap पहुँच (प्राधिकरण) प्रदाता के रूप में:

[domain/STAGENFS.FR]
access_provider = ldap

इसका मतलब यह है कि एक्सेस अधिकारों को इसके द्वारा नियंत्रित किया जाता है ldap_access_order सेटिंग। आपके पास यह नहीं है, लेकिन इसका डिफ़ॉल्ट मान है filter (sssd-ldap (5) मैनुअल के अनुसार)।

"फ़िल्टर" का अर्थ है कि एक्सेस चेक का उपयोग करके किया जाता है ldap_access_filter LDAP सर्वर को क्वेरी करने के लिए सेटिंग। आपके पास यह सेटिंग नहीं है, और इसका कोई डिफ़ॉल्ट मान नहीं है - यदि आप "फ़िल्टर" मोड का उपयोग करना चाहते हैं तो यह अनिवार्य है।

आपको सही प्राधिकरण नियमों को निर्दिष्ट करने की आवश्यकता है - या तो एक फ़िल्टर पर निर्णय लें जिसे आप लागू करना चाहते हैं, या बदलना चाहते हैं ldap_access_order सेटिंग (या भी access_provider ) कुछ और करने के लिए।


1
धन्यवाद, यह काम किया। मैंने कहा ldap_access_order = filter और एक फिल्टर: ldap_access_filter = &(objectClass=posixAccount) (uidNumber=*) sssd.conf फ़ाइल में और मैं ldap उपयोगकर्ता खाते में लॉग इन करने में कामयाब रहा
Charles
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.