माउंट cifs नेटवर्क ड्राइव: अनुमतियाँ लिखें और चेंब करें


99

मेरे पास एक cifs नेटवर्क ड्राइव है। जब मैं इसे अपने OSX मशीन के नीचे माउंट करता हूं, तो मैं इसे और इससे पढ़ और लिख सकता हूं।

जब मैं ubuntu में ड्राइव माउंट करता हूं, तो:

sudo mount -t cifs -o username=${USER},password=${PASSWORD} //server-address/folder /mount/path/on/ubuntu

मैं नेटवर्क ड्राइव पर लिखने में सक्षम नहीं हूं, लेकिन मैं इससे पढ़ सकता हूं। मैंने माउंट फ़ोल्डर की अनुमतियों और स्वामी की जाँच की है, वे इस तरह दिखते हैं:

4.0K drwxr-xr-x  4 root root    0 Nov 12  2010 Mounted_folder

मैं मालिक को नहीं बदल सकता, क्योंकि मुझे त्रुटि मिली:

chown: changing ownership of `/Volumes/Mounted_folder': Not a directory

जब मैं नेटवर्क ड्राइव में गहराई से उतरता हूं, और वहां स्वामित्व बदल देता हूं, तो मुझे यह त्रुटि मिलती है कि मुझे फ़ोल्डर के मालिक को बदलने की कोई अनुमति नहीं है।

अपनी लेखन अनुमति को सक्रिय करने के लिए मुझे क्या करना चाहिए?


फ़ाइल सिस्टम / etc / fstab में सूचीबद्ध है? यदि हां, तो प्रविष्टि के पास क्या विकल्प हैं?
जेनी डी

3
आप nopermइस प्रश्न के उत्तर में भी इसी तरह माउंट विकल्प का उपयोग कर सकते हैं : unix.stackexchange.com/a/375523/16287 । यह सभी उपयोगकर्ताओं को CIFS माउंट तक पढ़ने और लिखने की सुविधा देगा।
डैनियल

जवाबों:


137

आप CIFS शेयर को रूट के रूप में बढ़ा रहे हैं (क्योंकि आपने उपयोग किया था sudo), इसलिए आप सामान्य उपयोगकर्ता के रूप में नहीं लिख सकते। यदि आपका लिनक्स वितरण और इसकी कर्नेल हाल ही में पर्याप्त हैं, तो आप नेटवर्क साझा को सामान्य उपयोगकर्ता के रूप में माउंट कर सकते हैं (लेकिन एक फ़ोल्डर के तहत जो उपयोगकर्ता स्वयं का है), आपके पास फ़ाइल लिखने के लिए उचित क्रेडेंशियल होंगे (जैसे साझा फ़ोल्डर को अपने तहत कहीं माउंट करें। उदाहरण के लिए, होम डाइरेक्टरी, $HOME/netshare/जाहिर है, आपको इसे माउंट करने से पहले फ़ोल्डर बनाना होगा)।

उपयोगकर्ता और समूह आईडी को निर्दिष्ट करने के लिए एक विकल्प है कि माउंट किए गए नेटवर्क शेयर का उपयोग किया जाना चाहिए, यह उस विशेष उपयोगकर्ता और संभावित समूह को शेयर को लिखने की अनुमति देगा। निम्नलिखित जोड़े अपने माउंट करने के लिए विकल्पों : uid=<user>,gid=<group>और की जगह <user>और <group>अपने स्वयं के उपयोगकर्ता और डिफ़ॉल्ट समूह है, जो आप के साथ स्वचालित रूप से प्राप्त कर सकते हैं द्वारा क्रमशः idआदेश।

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g) //server-address/folder /mount/path/on/ubuntu

यदि सर्वर स्वामित्व जानकारी भेज रहा है, तो आपको विकल्प forceuidऔर forcegidविकल्प जोड़ने की आवश्यकता हो सकती है ।

sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=$(id -u),gid=$(id -g),forceuid,forcegid, //server-address/folder /mount/path/on/ubuntu

यह मेरे लिए काम किया! लेकिन हमें यह जोड़ना चाहिए कि यदि साझा फ़ोल्डर एक लॉगिन डोमेन के साथ पीसी में है तो आपको विकल्प जोड़ना चाहिए domain। कुछ इस तरह से: sudo mount -t cifs -o username=${USER},password=${PASSWORD},dom=${DOMAIN}, uid=<user>,gid=<group> //server-address/folder /mount/path/on/ubuntuवास्तव में डोमेन "उपयोगकर्ता नाम" विकल्प में जा सकता है, लेकिन याद रखें कि आपको उपयोगकर्ता नाम = DOMAIN / user.name` के /बजाय उपयोग करना होगा `, like
जोओ पोर्टेला

हाँ, यह सही है। :-) किसी व्यक्ति को "डोमेन =" विकल्प या उपयोगकर्ता नाम के माध्यम से डोमेन या कार्यसमूह (पुराने विंडोज संस्करण के लिए) निर्दिष्ट करने की आवश्यकता हो सकती है, यह एक अच्छा बिंदु है। और कभी-कभी एन्क्रिप्शन योजना या CIFS संस्करण का उपयोग करने के लिए निर्दिष्ट करना भी आवश्यक है। लेकिन यह सब इस सवाल का हिस्सा नहीं था, इसलिए मैंने इसे एक तरफ छोड़ दिया। :-)
Huygens 16

2
यही वह चीज है जिसकी मुझे जरूरत थी। स्टार्टअप पर नेटवर्क ड्राइव को ऑटो माउंट करने के लिए मेरे पास / etc / fstab में एक प्रविष्टि थी। मैं माउंट पर नहीं लिख सकता था इसलिए मैंने कहा, यूआईडी = <myUserID> एक पंक्ति के लिए जो इस तरह दिखता है://192.168.1.7/public /colmustang cifs username=<uname>,password=<upassword>,uid=<myUserID> 0 0
जेम्स

5
@ 71GA usernameप्रमाणीकरण के लिए उपयोग करने के लिए रिमोट लॉगिन है। uidस्थानीय यूजर आईडी आप सभी फ़ाइलें / फ़ोल्डर झपकी के लिए चाहते हैं। इसलिए उपयोगकर्ता नाम को यूआईडी से हटा दिया जाता है, उपयोगकर्ता नाम रिमोट उपयोगकर्ता लॉगिन है जबकि यूआईडी आपकी स्थानीय उपयोगकर्ता आईडी है। ध्यान दें कि यह एक ही चीज हो सकती है यदि आपका सर्वर सांबा है और आप क्लाइंट और सर्वर :-) दोनों पर LDAP या अन्य केंद्रीकृत खाते का उपयोग करते हैं।
ह्यूजेंस

1
@ टेक अच्छा सवाल। संपादित उत्तर देखें।
गाइल्स

20

मैंने निम्नलिखित कमांड का सफलतापूर्वक परीक्षण किया:

sudo mount -t cifs -o username=[username],password=[password],uid=1001,gid=1001 //172.16.148.2/dfsgob01 /home/ususario/Documentos/benz-win

19
क्रमशः uid और gid प्राप्त करने के लिए "id -u <user>" और "id -g <user> का प्रयोग करें।
nvd

3
ध्यान दें कि आप सीधे रूप में दर्ज उपयोगकर्ता नाम का उपयोग कर सकतेman mount.cifs
jstricker

2
केवल कॉल के दौरान पासवर्ड के विकल्प को छोड़ कर कमांड के साथ पासवर्ड लिखने से बचने के लिए - एक प्रॉम्प्ट फिर इसके लिए पूछेगा ताकि इसे अदृश्य रूप से टाइप किया जा सके।
कॉन्सेप्टडेलिक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.