लिनक्स + सक्रिय निर्देशिका प्रमाणीकरण + केवल कुछ समूहों को लॉगिन करने देता है


14

मेरे पास कुछ लिनक्स बॉक्स हैं जो विंडोज सक्रिय निर्देशिका प्रमाणीकरण का उपयोग करते हैं, जो कि ठीक काम करता है (सांबा + विनबिंड)।

मैं अब क्या करना चाहूंगा, हालांकि केवल कुछ लोगों या कुछ समूहों को सक्रिय निर्देशिका क्रेडेंशियल्स का उपयोग करके लॉगिन करने की अनुमति है। वर्तमान में मान्य AD खाते वाला कोई भी व्यक्ति लॉगिन कर सकता है। मैं इसे केवल कुछ समूहों तक सीमित करना चाहता हूं। क्या यह योग्य है?

जवाबों:


6

यह मानकर कि समूह लिनक्स सिस्टम के लिए उपलब्ध हैं, मैं /etc/security/access.confउबंटू, रेडहैट डिस्ट्रीब्यूशन (और उनके कांटे) और शायद दूसरों का एक समूह बनाने के लिए संपादन की सलाह देता हूं । इसके लिए PAM फ़ाइलों के संपादन की आवश्यकता नहीं है, और इसे करने के लिए एक अच्छी तरह से मानक जगह है। फ़ाइल में आमतौर पर उदाहरण हैं, टिप्पणी की गई।


धन्यवाद, यह वही है जो मैंने वह करने के लिए उपयोग किया था जो मैं करना चाहता था, ऊपर दिए गए सभी उत्तर जहां महान हैं लेकिन यह वह है जिसने मेरे लिए सबसे अच्छा काम किया है। मैं सांबा लॉक करने के लिए सांबा फ़ाइल का उपयोग करता हूं और अब मैं SSH लॉगिन को लॉक करने के लिए इस access.conf फ़ाइल का उपयोग कर रहा हूं।
लूमा

4

(मैं यहां सांबा 3 के बारे में बात कर रहा हूं, सांबा 4 पर अब कोई अनुभव नहीं है।)

उन /etc/pam.d/xxx फ़ाइलों को संपादित करने की कोई आवश्यकता नहीं है। pam_winbind.conf आपकी इच्छित फ़ाइल है, यह आमतौर पर /etc/security/pam_winbind.conf पर स्थित होती है

यह pam_winbind मॉड्यूल की कॉन्फ़िगरेशन फ़ाइल है, और यह CentOS / Redhat और Debian / Ubuntu दोनों के लिए काम करता है। आप संदर्भ के लिए pam_winbind.conf का मैन पेज पढ़ सकते हैं ।

यहाँ एक उदाहरण फ़ाइल है।

#
# pam_winbind configuration file
#
# /etc/security/pam_winbind.conf
#

[global]

# turn on debugging
;debug = no

# turn on extended PAM state debugging
;debug_state = no

# request a cached login if possible
# (needs "winbind offline logon = yes" in smb.conf)
cached_login = yes

# authenticate using kerberos
;krb5_auth = no

# when using kerberos, request a "FILE" krb5 credential cache type
# (leave empty to just do krb5 authentication but not have a ticket
# afterwards)
;krb5_ccache_type =

# make successful authentication dependend on membership of one SID
# (can also take a name)
# require_membership_of = SID,SID,SID
require_membership_of = S-1-5-21-4255311587-2195296704-2687208041-1794

# password expiry warning period in days
;warn_pwd_expire = 14

# omit pam conversations
;silent = no

# create homedirectory on the fly
mkhomedir = yes

3

मैं वर्तमान में उस AllowGroupsनिर्देश का उपयोग करता हूं /etc/ssh/sshd_configजो कि लॉग इन करने में सक्षम है। उस लाइन पर एक या अधिक AD समूहों को निर्दिष्ट करें, और वे लोग ही लॉग इन करने में सक्षम होंगे।

ध्यान रखें कि यह केवल तभी काम करता है जब आपके उपयोगकर्ता केवल ssh के माध्यम से दूरस्थ रूप से सर्वर तक पहुंच रहे हों । यदि वे स्थानीय रूप से गा रहे हैं, तो आपको एक और समाधान खोजने की आवश्यकता होगी।


3

हां, आप इसे पूरा करने के लिए क्या कर रहे हैं, इसके आधार पर इसे करने के कुछ तरीके हैं।

पहला तरीका सांबा कॉन्फिगर के जरिए किया जा सकता है। यह केवल इन उपयोगकर्ताओं को सांबा से कनेक्ट करने की अनुमति देगा, अन्य उपयोगकर्ता अभी भी अन्य सेवाओं (ssh, स्थानीय शब्द, आदि) के माध्यम से लॉगिन कर सकते हैं। इसके साथ, आप smb.conf में अपने [वैश्विक] अनुभाग में एक पंक्ति जोड़ना चाहेंगे:

valid users = @groupA @groupB

दूसरी विधि PAM नियमों को संशोधित करके है। अलग-अलग वितरणों में यहां थोड़ा अंतर है, लेकिन आम तौर पर बोलते हुए PAM नियम प्रति सेवा के साथ-साथ सामान्य नियम भी हैं, आप तय कर सकते हैं कि सबसे अच्छा क्या है। आप pam_require मॉड्यूल का उपयोग करके एक खाता प्रतिबंध जोड़ना चाहते हैं। मेरे लैपटॉप (फेडोरा 13) पर एक उदाहरण /etc/pam.d/system-uth में खाता अनुभाग को संशोधित करने के लिए होगा:

account     required      pam_unix.so
account     required      pam_require.so @groupA @groupB
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     required      pam_permit.so

प्रशासन को सरल बनाने के लिए, आप उन उपयोगकर्ताओं को ट्रैक करने के उद्देश्य से AD में एक नया समूह बनाना चाहते हैं जो इस सर्वर पर लॉगिन कर सकते हैं।


1

मैं आरएचईएल 7 में मेरे लिए काम करने के लिए उपरोक्त में से किसी के साथ संघर्ष कर रहा था। नीचे मैं काम करने में सक्षम था।

/etc/sssd/sssd.conf

+ access_provider = ad को बदलें access_provider = simplesimple_allow_groups = @group1-admins@xxx.xxx.com, @group2@xxx.xxx.com

visudo

  • %group1-admins@xxx.xxx.com ALL=(ALL) ALL

sssd सेवा को पुनरारंभ करें।


-3

मैंने AD प्रमाणीकरण के माध्यम से linux बॉक्स को ssh लॉगिन करने के लिए केवल एक AD_USER या AD_GROUP प्राप्त किया है।

विवरण यहां सूचीबद्ध हैं: (चरण 7 और 8 पर ध्यान दें)

https://gist.githubusercontent.com/xianlin/8c09d916994dac7630b9/raw/ee07817a03bc5904a5404a7e7c94e08ea0c7560a/CentOS_AD_Integration


जानकारी गायब है
ज्योफ्री

लिंक मर चुका है, बेकार पोस्ट।
FreeSoftwareServers

मैं केवल चरण ४०४ देखता हूं। and नहीं 4 और
टोड वाल्टन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.