दूरस्थ रूप से लॉग करते समय समूह स्थानीय लोगों से भिन्न होते हैं


14

हम अपने उपयोगकर्ताओं को LDAP में संग्रहीत करते हैं, कुछ समूहों के साथ जिनका विभिन्न प्रणालियों में अर्थ है (संगठनात्मक भूमिकाएं सहित wheel)। वर्कस्टेशंस के लिए स्थानीय समूह भी हैं, उदाहरण के लिए audioया videoजिसे एलडीएपी में रखा जाना वांछनीय नहीं है। अब अगर मैं स्थानीय रूप से लॉग इन करता हूं तो मुझे वे स्थानीय समूह मिलते हैं, लेकिन अगर मैं एसएसएच के माध्यम से उसी मशीन में लॉग इन करता हूं तो मुझे उनकी कमी है। वे निश्चित रूप से वापस आते हैं, अगर मैं suसीधे बाद का उपयोग करता हूं । मैं गलत रास्ते पर हो सकता हूं, लेकिन PAM पर शक करता हूं।

से प्रासंगिक प्रविष्टियाँ nsswitch.conf

passwd:      compat ldap
shadow:      compat ldap
group:       compat ldap

Pam के रूप में, हमेशा एक पंक्ति होती है, लेकिन दूसरी रेखाएँ समान होती हैं

/etc/pam.d/sshd

auth            include         system-remote-login

/etc/pam.d/system-remote-login( system-local-loginमैं जोड़ सकता हूँ के समान )

auth            include         system-login

/etc/pam.d/system-login

auth            required        pam_tally2.so onerr=succeed
auth            required        pam_shells.so 
auth            required        pam_nologin.so 
auth            include         system-auth
auth            optional        pam_gnome_keyring.so

account         required        pam_access.so 
account         required        pam_nologin.so 
account         include         system-auth
account         required        pam_tally2.so onerr=succeed 

password        include         system-auth
password        optional        pam_gnome_keyring.so

session         optional        pam_loginuid.so
session         required        pam_env.so 
session         optional        pam_lastlog.so 
session         include         system-auth
session         optional        pam_gnome_keyring.so auto_start
session         optional        pam_motd.so motd=/etc/motd
session         optional        pam_mail.so

/etc/pam.d/su

auth       sufficient   pam_rootok.so
auth       required     pam_wheel.so use_uid
auth       include              system-auth

account    include              system-auth

password   include              system-auth

session    include              system-auth
session    required     pam_env.so
session    optional             pam_xauth.so

/etc/pam.d/common-auth:

auth    required     pam_group.so use_first_pass

क्या समस्या हो सकती है और मैं इसे कैसे हल करूंगा? मुझे आवश्यक अन्य जानकारी प्रदान करने में खुशी हो रही है।


आपके लिए /etc/nsswitch.confकैसा दिखता है group? का आउटपुट क्या है getent YOURUSERNAME? क्या आपका /etc/pam.d/sshd@include सामान्य- {सत्र, शब्द, पासवर्ड, खाता} है?
इप्सुइग

जो प्रक्रिया / चरणों आप ग्राहक अंत में सेटअप?
राहुल पाटिल

1
@ ऑरेलिन, जब आपके पास "शैडो लैडैप" होता है, तो pam_unix nss पर पासवर्ड की जानकारी प्राप्त करने का प्रमाणीकरण करता है।
स्टीफन चेज़लस

1
मुझे लगता है कि आप PAM पर संदेह कर रहे हैं। अधिक संभावना एक एनआईएस समस्या। PAM को समूहों का कोई पता नहीं है; यह सब libc के माध्यम से किया जाता है जब sshd initgroups को कॉल करता है।
निकोलस विल्सन

1
वास्तव में, मैं इसे थोड़ा संशोधित करता हूं: जाहिर है कि कुछ मॉड्यूल उपयोगकर्ता समूहों को स्थापित करने के लिए pam_setcred कॉल को हुक करते हैं, यही कारण है कि psh_setcred से पहले sshd initgroups को कॉल करता है। हममम।
निकोलस विल्सन

जवाबों:


3

मैंने आज दिल लिया और आखिरकार इसे हल कर लिया। पैम चेन इस तरह काम करती है

  • /etc/pam.d/sshd में शामिल हैं:
    • /etc/pam.d/system-remote-login जिसमें शामिल है:
      • /etc/pam.d/system-login जिसमें शामिल है:
        • /etc/pam.d/system-auth जिसकी वैकल्पिक आवश्यकता है

स्पष्ट रूप से अंतिम शामिल किसी कारण से काम नहीं करता है। जिस कारण से मैं इतना हैरान था कि मुझे भरोसा था कि ये काम करेंगे, जो ऐसा नहीं था। अगर कोई समझा सकता है कि मैं बहुत आभारी क्यों हूँ। मुझे यह पता है क्योंकि अगर मैं लाइन जोड़ता हूं

auth    optional  pam_group.so

में /etc/pam.d/system-loginतो यह काम करता है।


1

लॉगिन प्रोग्राम (जो आपके पर्यावरण को सेट करता है, जिसमें यूआईडी, जीआईडी ​​और पूरक समूह शामिल हैं) को उपयोगकर्ता नाम पर डेटा मिलता है <-> यूआईडी, जीआईडी ​​और पूरक समूह जिसमें उपयोगकर्ता नाम होता है, किसी प्रकार के डेटाबेस से। परंपरागत रूप से / etc / passwd और / etc / समूह फ़ाइलों से, आज भी LDAP से। डेटा स्रोत के आधार पर, आपके द्वारा असाइन किए गए समूह अलग-अलग हो सकते हैं।

सावधान रहें, यदि विभिन्न स्रोतों को मिलाया जाता है, तो आप एक ही नाम के साथ एक खाते के साथ बहुत अच्छी तरह से समाप्त हो सकते हैं लेकिन अलग-अलग यूआईडी (सिस्टम वास्तव में यूआईडी आंतरिक रूप से उपयोग करता है), या समूहों के विभिन्न सेट। परिणाम आम तौर पर आकस्मिक दर्शकों के लिए बहुत मनोरंजक है, जबकि प्रभारी पक्ष के लिए व्यापक बाल खींचने के कारण समय से पहले गंजापन का कारण बनता है। (वहाँ गया।)


0

में nsswitch.conf:

    समूह: हमवतन ldap

इस कॉल को बधाई मिलती है, जिसे समूह (समूह प्रविष्टियां) मिलती हैं

EDIT: निम्नलिखित में एक और बात शामिल है /etc/pam.d/common-auth:

सामान्य आवश्यक pam_group.so use_first_pass

अधिक जानकारी के लिए यहां एक नज़र डालें: उपयोगकर्ताओं को स्थानीय समूह निर्दिष्ट करें और शायद यह newgrp-and-groups-सौंपा-थ्रू-pam-group-so


वह रेखा पहले से ही उसी तरह मौजूद है।
अधिकतम

शायद इसे अपने प्रश्न में "nsswitch.conf से प्रासंगिक प्रविष्टियों" में जोड़ें।
xx4h

किया और संपादित दुर्भाग्य से मदद नहीं की।
अधिकतम

क्या आपने किया pam-auth-updateऔर nscd पुनः आरंभ किया?
xx4h

0

मुझे लगभग ऐसी ही समस्या थी: जब ssh का उपयोग करने में लॉग इन किया गया था, तो कुछ समूह गायब थे। इसे /etc/nsswitch.conf को बदलकर हल किया गया है:

group:      compat  -> group:      files nis
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.