सांबा शेयर माउंट करने का उचित तरीका


9

मैं अपने आर्क लिनक्स सिस्टम पर सांबा के साथ CIFS नेटवर्क फाइलसिस्टम माउंट करना चाहूंगा। जब भी मैं लॉग इन (या तो ssh, एक TTY, या KDM के माध्यम से) इस फाइलसिस्टम को माउंट करना चाहूंगा।

नेटवर्क शेयर को जोड़कर मैं जो चाहता हूं, उसके बहुत करीब पहुंच सकता हूं /etc/fstab। सबसे बड़ी "समस्या" यह है कि इसके लिए /etc/fstabमेरे उपयोगकर्ता नाम और पासवर्ड के साथ क्रेडेंशियल फ़ाइल बनाने या बनाने में कठिन पासवर्ड की आवश्यकता होती है । अगर मैं 600 की अनुमति देता हूं तो भी मुझे अपने उपयोगकर्ता नाम और पासवर्ड को एक सादे पाठ फ़ाइल में रखना असुरक्षित लगता है।

क्या नेटवर्क शेयर को सुरक्षित रूप से स्वचालित करने का एक "उचित" तरीका है? क्या मैं PAM के साथ ऐसा कर सकता हूं (मेरे उपयोगकर्ता नाम और पासवर्ड दोनों मशीनों पर समान हैं) और यदि ऐसा है तो कैसे?


क्या आपने pam_cifs को देखा है ? "pam_cifs एक लिनक्स-पीएएम मॉड्यूल है, जो प्रति उपयोगकर्ता आधार पर लॉगिन पर CIFS को माउंट और अनमाउंट करने के लिए है"
CVn

या pam_mount, मेरे पास कोई विशिष्ट अनुभव नहीं है, लेकिन यह ऐसा करने के लिए डिज़ाइन किया गया लगता है।
आठबेटटोनी

@EBBTTony ने pam_mount ढूंढते हुए मुझे सवाल पूछने के लिए प्रेरित किया, मैं उम्मीद कर रहा हूं कि कोई व्यक्ति मुझे और अधिक निश्चित रूप से बताने में सक्षम हो सकता है अगर यह जाने का तरीका है और यदि ऐसा है तो कैसे।
स्ट्रांगबैड

जवाबों:


8

विधि # 1 - /etc/fstab

मुझे लगता है कि आप इसके विकल्प की तलाश कर रहे हैं, लेकिन यहाँ विशेष रूप से /etc/fstabफ़ाइल से अपनी साख कैसे प्राप्त करें :

//WindowsHost/Sharename /LocalMountPoint cifs credentials=/etc/cifsauth 0 0

फिर फ़ाइल में /etc/cifsauth:

username=someuser
password=somepass

इस फ़ाइल की अनुमति 600, यानी chmod 600 /etc/cifsauth

विधि # 2 - pam_mount

आप pam_mount स्थापित कर सकते हैं और फिर इस तरह लॉगिन करने वाले सभी उपयोगकर्ताओं के लिए एक सामान्य माउंट सेट कर सकते हैं :

# /etc/security/pam_mount.conf.xml
<debug enable="1" />
<volume server="server" path="music" mountpoint="~/MyMusicFolder" options="cred=/home/%(USER)/.Music.cred" />

इस विधि में अभी भी विधि # 1 जैसी ही समस्या है, जहां क्रेडेंशियल्स को किसी फ़ाइल में संग्रहीत किया जाता है /home/%(USER)/.Music.cred। यह उसी प्रकार की क्रेडेंशियल फ़ाइल है जो पहली विधि में है, इसलिए सुनिश्चित करें कि अनुमतियाँ 600 हैं।

विधि # 3 - gvfs- माउंट का उपयोग करें

यह U & L Q & A शीर्षक: क्या मैं प्लेनटेक्स्ट में अपना पासवर्ड स्टोर किए बिना एक सीआईएफ शेयर बढ़ते को स्वचालित कर सकता हूं? इसमें @Gilles का उत्तर है, जो आपके CIFS क्रेडेंशियल्स को बनाए रखने के लिए GNOME Keyring का उपयोग करता है ।

इसके बाद आप GVFS - GNOME वर्चुअल फाइल सिस्टम का उपयोग करके CIFS शेयरों तक पहुंच सकते हैं - इस तरह:

$ gvfs-mount smb://username\;workgroupname@hostname/sharename

यह होस्टनाम से शेयर को शार्नाम नाम से मैप करेगा और इसे माउंट करेगा $HOME/.vfs/sharename on hostname। आप इसे किसी भी तरह से नियंत्रित नहीं कर सकते। यह हमेशा यहाँ घुड़सवार होना मुश्किल है, मैंने देखा है!

हालाँकि आप इन mounts के लिंक बना सकते हैं जो कि मैं ऐसा करता हूं ताकि मैं उन शेयरों तक पहुंच बना सकूं जो मैंने माउंट किए हैं। का उपयोग .gvfsदुर्भाग्यपूर्ण था क्योंकि कुछ उपकरण फ़ाइल ब्राउज़िंग में डॉट निर्देशिकाओं को सूचीबद्ध नहीं करते हैं इसलिए अक्सर मैंने जो लिंक बनाया है वह इन शेयरों तक पहुंचने का एकमात्र तरीका है।


यदि आप फ़ाइल को छिपे हुए रूप में बनाते हैं।। cifsauth, और 'username =' की आवश्यकता नहीं है, केवल क्रेडेंशियल्स = / etc / .cifsauth पर्याप्त है
राहुल पाटिल

@RahulPatil - क्या आप कह रहे हैं कि आपको .cifsauthइन साख को हटाने के लिए अपने नाम की साख बनानी होगी username=, या यह कि username=सभी एक साथ जरूरी नहीं है?
स्लम

हाँ ... अच्छा जवाब .. !! Pam_mount के लिए +1
राहुल पाटिल

@RahulPatil - आप किस बिट से सहमत हैं?
स्लम

2

यह पता चला कि pam_mountजाने का रास्ता है। आप नेटवर्क साझा को इसमें जोड़ते हैं/etc/security/pam_mount.conf.xml

<volume user="yourUserName" fstype="auto" path="//path/to/the/network/share" mountpoint="/path/to/the/mount/point" options="username=yourUserName" />
<mkmountpoint enable="1" remove="true" />

यह उपयोग करने के लिए सैद्धांतिक रूप से संभव होना चाहिए %(USER), %(USERUID)और %(USERGID)यह एक सामान्य माउंट बनाने के लिए चर, लेकिन मैं आर्क लिनक्स पर काम करने के लिए वह हिस्सा नहीं मिल सका। आपको उपयोग करने के लिए अपने सिस्टम को कॉन्फ़िगर करने की भी आवश्यकता है pam_mount। आपको दोनों /etc/pam.d/system-authऔर अपने संबंधित लॉगिन-प्रबंधक को संशोधित करने की आवश्यकता है । केडीएम के लिए यह है /etc/pam.d/kde। संशोधनों में मूल रूप optional pam_mount.soसे दोनों फाइलों के हर हिस्से को जोड़ना शामिल है , लेकिन आदेशों के मामलों के बाद से सटीक विवरण मुश्किल हैं। मैंने आर्क विकी का अनुसरण किया ।

इस सेटअप और सर्वर और मेरी मशीन पर एक ही उपयोगकर्ता नाम / पासवर्ड के साथ मैं कहीं भी क्रेडेंशियल फ़ाइल को सहेजे बिना माउंट कर सकता हूं।


यह अच्छा है ... सिद्धांत के रूप में मैं fstab समाधान पसंद करूंगा - मुझे पसंद है pamऔर बाकी को व्यक्तिगत रूप से पसंद है, और मैंने देखा है कि उनके पास सिस्टम कॉन्फ़िगरेशन में कभी भी आगे रेंगने की प्रवृत्ति है - लेकिन यह निश्चित रूप से सवाल का जवाब देता है। क्या मैं पूछ सकता हूँ कि आप साख जमा करने के लिए इतने विरोध में क्यों हैं? उपयोगकर्ता अनुमतियाँ और / या फ़ाइल स्वामित्व / एन्क्रिप्शन पर्याप्त से अधिक होना चाहिए। कुछ सिस्टमों पर आप ऐसी सूचनाओं को फर्मवेयर वर्जन में स्टोर कर सकते हैं, जो केवल प्रमाणीकरण के बाद सुलभ हैं। sshउदाहरण के लिए, fs अनुमतियों के आधार पर स्टोर क्रेडेंशियल, है ना?
mikeserv

@ mikeserv हम एक एकल लॉगिन सिस्टम का उपयोग करते हैं, इसलिए एक sys व्यवस्थापक जो मेरी क्रेडेंशियल फ़ाइल के साथ मशीन तक रूट एक्सेस करता है, हो सकता है कि सभी सर्वरों के लिए रूट एक्सेस न हो जिसके लिए मेरा पासवर्ड मुझे एक्सेस करता है।
स्ट्रॉन्गबैड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.