मैं Synology NAS के NFS शेयर तक कैसे पहुँच / पढ़ सकता हूँ?


11

मैंने केवल माउंट किए गए NFS शेयर तक ही पहुंच पढ़ी है।

एनएएस पर 'नो स्क्वैश मैपिंग' सेट के साथ, उबंटू नियमित उपयोगकर्ता को शेयर में Permission deniedप्रयास करने cdपर मिलता है और केवल उपयोग करके रीड एक्सेस प्राप्त कर सकता है sudo
स्क्वैश के मानचित्र का उपयोग करके सभी उपयोगकर्ताओं को 'सेटिंग को प्रशासित करने के लिए, क्लाइंट नियमित उपयोगकर्ता cdमें और केवल शेयर तक पहुंच पढ़ सकता है। उपयोग sudoकरने से लिखने की अनुमति नहीं है।


Synology NAS:
DS214> id username
uid=1026(username) gid=100(users) groups=100(users),101(administration)

कोई स्क्वैश (कोई मैपिंग नहीं)
DS214> cat /etc/exports
/volume1/Files 10.1.1.2(rw,async,no_wdelay,no_root_squash,insecure_locks,sec=sys,anonuid=1025,anongid=100)

सभी स्क्वैश (सभी उपयोगकर्ताओं को प्रशासित करने के लिए नक्शा)
DS214> cat /etc/exports
/volume1/Files 10.1.1.2(rw,async,no_wdelay,all_squash,insecure_locks,sec=sys,anonuid=1024,anongid=100)

उबंटू ग्राहक:
$ cat /etc/fstab
10.1.1.214:/volume1/Files /mnt/nfs/Files nfs rw,user,auto 0 0

$ id username
uid=1000 gid=1000(username) groups=1000(username), <etc>

$ ls -n /mnt/nfs
drwxrwxrwx 9 0 0 4096 Sep 25 01:28 Files

$ ls -n /mnt/nfs/Files
drwxr-xr-x 11 1026 100 4096 Sep 24 22:05 Data


(मैं मूल रूप से गलती से पोस्ट किया है कि का उपयोग कर sudoलिखने के लिए एक्सेस सक्षम हो) के एनएफएस शेयर घुड़सवार में मैं एक फ़ाइल खोल सकते हैं sudo vi /mnt/nfs/Files/Data/test.fileलेकिन फिर भी साथ फ़ाइल में परिवर्तन नहीं लिख सकते हैं sudo:w!कमांड पर vi त्रुटि संदेश है:
"test.file" E212: Can't open file for writing


एनएफएस उपयोगकर्ता आईडी (यूआईडी) के खिलाफ पहुंच अनुमतियों की जांच करता है। आपके स्थानीय मशीन पर उपयोगकर्ता का यूआईडी सर्वर पर पहुंचने की कोशिश कर रही फाइलों के मालिक के यूआईडी से मेल खाता है । सर्वर पर जाएं और फ़ाइल अनुमतियों को देखें। कौन सी यूआईडी (पता करें id username) वे किससे संबंधित हैं और कौन सी अनुमतियां सेट हैं?
नेफेंट

क्या आप cdनियमित उपयोगकर्ता के रूप में भी माउंट कर सकते हैं ? यदि हाँ, तो मैं निम्नलिखित सुझाव देता हूं। मेरे संदेह की पुष्टि या खंडन करने के लिए, निम्न कार्य करें: क्लाइंट cdको माउंट में करें और करें ls -n। यह फ़ाइल मालिकों और समूहों को उनके संबंधित आईडी के साथ सूचीबद्ध करेगा। आपको sudoलगता है कि मुझे लगता है कि करना होगा । id (नहीं sudo!) के आउटपुट के साथ, अपने प्रश्न के लिए आउटपुट की एक या दो लाइन अप करें, यदि आप cdनियमित उपयोगकर्ता के रूप में माउंट भी नहीं कर सकते हैं , तो आपको अपने द्वारा निर्यात किए जा रहे डीआईआर की अनुमति की जांच करनी होगी। सर्वर।
नेफेंट

मैं cdएक नियमित उपयोगकर्ता के रूप में माउंट में नहीं जा सका । अनुमतियों को लागू करने के लिए सर्वर पर स्क्वैश का उपयोग अनुमतियों को देने के लिए एक अस्थायी फिक्स के रूप में काम करता है। सर्वर अनुमतियों की जांच और id username
मार्सिलेया

थैंक्यू, मुझे लगता है कि स्क्वाश के साथ सिर्फ क्रूर बल के बजाय सही तरीके से
एनएफएस

निर्भर करता है। क्या आप ग्राहकों और उपयोगकर्ताओं पर भरोसा करते हैं? यदि आप नहीं करते हैं, तो एनएफएसवी 3 सब के बाद उपयुक्त नहीं है, क्योंकि जिस किसी के पास क्लाइंट तक पहुंच है, वह यूआईडी को खराब कर सकता है। यदि आपको उचित प्रमाणीकरण की आवश्यकता है, तो आप SMB का बेहतर उपयोग करेंगे। NFSv4 के साथ प्रमाणीकरण के लिए एक केर्बरोस चलाने की आवश्यकता होती है जो कि जटिल है। लेकिन फिर भी, आपका आउटपुट मुझे चकरा देता है ... मुझे लगता है कि आरोह बिंदु है /mnt/nfs/Files। हालांकि Filesके अंतर्गत आता है root, किसी को भी अनुमति कुछ भी करने को अनुमति देते हैं। इससे मुझे कोई मतलब नहीं है कि आपको किसी उपयोगकर्ता के रूप में उस डायर को दर्ज करने में परेशानी क्यों होगी। शायद संबंधित लाइन से पोस्ट करें /etc/exports?
नेफेंटे

जवाबों:


11

NFSv2 / 3 केवल UID और GID पर आधारित अनुमतियाँ संभालता है। सर्वर पर फ़ाइल अनुमतियाँ उपयोगकर्ता और क्लाइंट पर समूह आईडी के साथ मेल खाती हैं। यही कारण है कि एनएफएसवी <4 उन वातावरणों में डिजाइन असुरक्षित है जहां उपयोगकर्ताओं को क्लाइंट मशीनों तक जड़ पहुंच है; उस मामले में यूआईडी स्पूफिंग तुच्छ है।

ध्यान दें कि NFSv4 कर्बरोस 5 के माध्यम से क्लाइंट और उपयोगकर्ता प्रमाणीकरण प्रदान करता है। यदि उपयोगकर्ता नाम और पासवर्ड के साथ प्रमाणीकरण की आवश्यकता होती है, तो हालांकि शुद्ध लिनक्स वातावरण में भी केर्बरोस स्थापित करने के बजाय सांबा (एसएमबी / सीआईएफएस) का सहारा लेना बहुत आसान है।

करने के लिए कम से कम रूट विशेषाधिकारों की वृद्धि को रोकने में, NFS साझेदारियों के विकल्प के साथ डिफ़ॉल्ट रूप से निर्यात किया जाता है root_squash, जिसमें से आने वाले सभी ग्राहक के अनुरोध मैप कर देंगे root (uid=0, gid=0)करने के लिए anonuidऔर anongidno_root_squashनिर्यात के लिए मूल पहुंच प्रदान करने के साथ इस व्यवहार को ओवरराइड किया जा सकता है ।

यहाँ, हम एक और दोष देखते हैं। ठीक से काम करने के लिए, एनएफएस मूल रूप से आपको सभी मशीनों पर समान यूआईडी / जीआईडी ​​की आवश्यकता होती है। जिन फ़ाइलों को आप एक्सेस करना चाहते हैं, वे 1026755 की हैं और अनुमतियाँ हैं। आप क्लाइंट पर उपयोगकर्ता हैं uid=1000। GIDs या तो मेल नहीं खाते, इसलिए आपको केवल विश्व की अनुमति मिलती है। इसलिए कोई लेखन नहीं है।

इसे हल करने के लिए, आप कई काम कर सकते हैं:

  • NAS पर, फ़ाइलों के स्वामी को बदल दें 1000। आपको शायद उस विशेष खाते को बनाने की आवश्यकता होगी। यह अन्य सेवाओं को कैसे प्रभावित करेगा, मैं नहीं बता सकता।

  • अपने स्थानीय उपयोगकर्ता का यूआईडी बदलें 1026

  • चूंकि आप सर्वर पर फ़ाइलों को एक्सेस करने वाले एकमात्र हैं, आप सर्वर को यह दिखावा कर सकते हैं कि सभी अनुरोध उचित यूआईडी से आते हैं। उसके लिए, एनएफएस के पास विकल्प है all_squash। यह सर्वर को निर्दिष्ट द्वारा अनाम उपयोगकर्ता के सभी अनुरोधों को मैप करने के लिए कहता है anonuid,anongid

    all_squash,anonuid=1026,anongid=100में निर्यात करने के लिए विकल्प जोड़ें /etc/exports

हालांकि सतर्क रहें , क्योंकि यह किसी को भी निर्यात को प्रभावी ढंग से उन फाइलों के मालिक बना देगा!

यदि आप अपने नेटवर्क को उन लोगों और उनके क्लाइंट के साथ साझा करते हैं, जिन पर आप अपनी फ़ाइलों के साथ शरारत नहीं करने के लिए पूरी तरह से भरोसा नहीं करते हैं, तो आपको वास्तव में प्रमाणीकरण की पेशकश करने वाली फ़ाइलों की विधि पर ध्यान देना चाहिए। मेरी राय में, सांबा इसे हासिल करने का सबसे आसान तरीका है।


मैंने एनएफएस को चुना क्योंकि मुझे लगा कि लिनक्स के लिए लिनक्स के फायदे हो सकते हैं, क्योंकि मैं उबंटू क्लाइंट पर बाहरी यूएसबी ड्राइव में आरएएसक्यूएन द्वारा एनएएस का बैकअप लेने में सक्षम होना चाहूंगा (Synology का DSM सिस्टम USB ड्राइव के लिए सिंकिंग की पेशकश नहीं करता है) , जबकि फ़ाइल स्वामित्व और अनुमति की जानकारी रखते हैं। पूरी तरह से उत्तर, और मार्गदर्शन के लिए धन्यवाद।
18

0

क्या showmount -e 10.1.1.214निर्यात विकल्प देखने के लिए। Permission deniedत्रुटि NFS सर्वर से ही आ रही है। से विकल्प बदलने की कोशिश rw,user,autoकरने के लिए defaults

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