मैं UFS बेमेल के साथ सिस्टम में NFSv4 UID मैपिंग कैसे कर सकता हूं?


11

मैं तीन उबंटू प्रणालियों के साथ एक प्रयोगशाला में काम कर रहा हूं, और मैं एनएफएस के माध्यम से कुछ फाइल सिस्टम को पार करना चाहूंगा। हालाँकि, जबकि सिस्टम में कुछ समान उपयोगकर्ता नाम हैं, UIDs और GIDs मेल नहीं खाते, क्योंकि तीन सिस्टम अलग-अलग सेट किए गए थे। जब मैं NFS फाइल सिस्टम को एक सिस्टम से दूसरे सिस्टम पर माउंट करता हूं, तो स्वामित्व गलत दिखाई देता है। उदाहरण के लिए, यदि यूआईडी 1000 सर्वर 1 पर एक जैसे है और यूआईडी 1000, वही सर्वर 2 पर बॉब है, तो जब सर्वर 1 सर्वर 2 के एक्सपोर्ट किए गए फाइल सिस्टम को माउंट करता है, तो बॉब की फाइलें एलिस के स्वामित्व में दिखाई देती हैं।

तो क्या NFS (v4) को अपने संबंधित उपयोगकर्ता नाम के माध्यम से यूआईडी के सर्वर के बीच परिवर्तित करने का कोई तरीका है? इसके लिए Googling, मैंने कर्बरोस, LDAP या NIS के बहुत सारे संदर्भ देखे हैं, जो इस तरह के एक सरल कार्य के लिए बड़े पैमाने पर ओवरकिल की तरह लगता है, और यह संभव नहीं हो सकता है क्योंकि ये सिस्टम केंद्र-प्रबंधित नहीं हैं। यह लिंक इंगित करता है कि मैं जो पूछता हूं वह असंभव है। क्या यह सही है?

संपादित करें: मैंने हर कॉन्फ़िगरेशन के लिए कोशिश की है /etc/idmapd.confजिसके बारे में मैं सोच सकता हूं या इंटरनेट पर पा सकता हूं, और जब भी ईमपेड प्रक्रिया स्पष्ट रूप से चल रही है, अब तक मैंने ऐसा कोई सबूत नहीं देखा है कि एनएफएस इसे इस्तेमाल करने का कोई प्रयास कर रहा है, और एनएफएस माउंट पर उपयोगकर्ता आईडी की सूचना पर इसका कभी भी कोई प्रभाव नहीं पड़ा है।


1
मेरा मानना ​​है कि आपके लिए सबसे आसान काम अपने सभी सामानों को क्रम में लाना है। आप अपनी मौजूदा स्कीम के साथ बने रह सकते हैं क्योंकि आपके पास केवल तीन बॉक्स हैं, लेकिन आपको अपने बॉक्स में सभी यूआईडी / जीआईडी ​​को सिंक करने की आवश्यकता है। यह वास्तव में एक मुश्किल काम नहीं है।
सर्ज

हां, यही मैं आखिर कर रहा हूं।
रयान सी। थॉम्पसन

जवाबों:


5

बिना किसी केंद्रीकृत उपयोगकर्ता प्रशासन के साथ, "सबसे अच्छा" तरीका मैं देख रहा हूँ कि आप सभी सर्वर को प्रत्येक उपयोगकर्ता के लिए समान GID और UID का उपयोग करने के लिए बाध्य करेंगे। अब ... मैं केवल फ़ाइलों और / या निर्देशिकाओं के बारे में बात कर रहा हूँ।

इस मामले में मैं क्या करूंगा:

  • वर्तमान में उपयोग किए गए प्रत्येक UID और GID को पंजीकृत करें।
  • सभी सर्वरों पर समूहों को संपादित करें /etc/passwdऔर /etc/groupमिलान करें। नए यूआईडी और जीआईडी ​​के लिए अधिमानतः अगला कदम तेज होगा
  • इसे चलाएं (इसमें थोड़ा समय लगेगा):

    find / -group <OLD_GID> -exec chgrp <NEW_GID> '{}' \+
    find / -user  <OLD_UID> -exec chown <NEW_UID> '{}' \+
    

Ummm, "find" स्टेटमेंट रूट डायरेक्टरी से शुरू हो रहा है। कमांड सिस्टम पर प्रत्येक निर्देशिका के स्वामित्व को बदल रहा है। इन आदेशों में सुझाए गए परिवर्तनों में सिस्टम की प्रत्येक फ़ाइल शामिल होगी। मैं आपको सुझाव देता हूं कि यह कमांड किस निर्देशिका के खिलाफ चलती है या आपके पास बहुत बुरा दिन होगा।

2
खोजे गए आदमी से: -group gname सही है यदि फ़ाइल समूह gname से संबंधित है। यदि gname संख्यात्मक है और समूह (4) डेटाबेस में प्रकट नहीं होता है, तो इसे समूह आईडी के रूप में लिया जाता है।
बिट्सऑफनिक्स

1

NFSv4 आईडी मैपिंग का समर्थन करता है। जब सक्षम किया जाता है, NFS संख्यात्मक आईडी के बजाय उपयोगकर्ता नाम संचारित करेगा। एक ही उपयोगकर्ता के लिए अलग-अलग संख्यात्मक यूआईडी वाले मेजबान कोई समस्या नहीं है, क्योंकि उपयोगकर्ता नाम होस्ट पर uids के लिए मैप किए जाते हैं।

Id मानचित्रण हमेशा Kerberos सुरक्षा मोड ( sec=krb5) के साथ उपयोग किया जाता है ।

आईडी मानचित्रण का उपयोग AUTH_UNIX (डिफ़ॉल्ट sec=sys) मोड में भी किया जा सकता है। मैंने उत्तर में कॉन्फ़िगरेशन विवरणों को समझाया है: NFSv4 idmap को sec = sys के साथ काम करने का तरीका

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