मैं FSTAB के माध्यम से CIFS साझा कैसे करूं और अतिथि को पूर्ण RW दूं


33

मैं एक सार्वजनिक फ़ोल्डर बनाना चाहता हूं जिसमें पूर्ण आरडब्ल्यू पहुंच हो। मेरे कॉन्फ़िगरेशन के साथ समस्या यह है कि विंडोज उपयोगकर्ताओं के पास मेहमानों के रूप में कोई समस्या नहीं है (वे आरडब्ल्यू और हटा सकते हैं), मेरे उबंटू ग्राहक ऐसा नहीं कर सकते। हम केवल लिख और पढ़ सकते हैं, लेकिन बना या हटा नहीं सकते।

यहाँ मेरे सर्वर से मेरी smb.conf है:

[global]
    workgroup = WORKGROUP
    netbios name = FILESERVER
    server string = TurnKey FileServer

    os level = 20
    security = user
    map to guest = Bad Password
    passdb backend = tdbsam
    null passwords = yes

    admin users = root
    encrypt passwords = true
    obey pam restrictions = yes
    pam password change = yes
    unix password sync = yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

    add user script = /usr/sbin/useradd -m '%u' -g users -G users
    delete user script = /usr/sbin/userdel -r '%u'
    add group script = /usr/sbin/groupadd '%g'
    delete group script = /usr/sbin/groupdel '%g'
    add user to group script = /usr/sbin/usermod -G '%g' '%u'

    guest account = nobody

    syslog = 0
    log file = /var/log/samba/samba.log
    max log size = 1000

    wins support = yes
    dns proxy = no

    socket options = TCP_NODELAY
    panic action = /usr/share/samba/panic-action %d


[homes]
    comment = Home Directory
    browseable = no
    read only = no
    valid users = %S

[storage]
    create mask = 0777
    directory mask = 0777
    browseable = yes
    comment = Public Share
    writeable = yes
    public = yes
    path = /srv/storage

निम्नलिखित FSTAB प्रविष्टि शेयर में पूर्ण R / W का उपयोग नहीं करती है।

//192.168.0.5/storage /media/myname/TK-Public/ cifs rw 0 0

यह भी काम नहीं करता है

//192.168.0.5/storage /media/myname/TK-Public/ cifs rw,guest,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0

निम्मो / नॉटिलस w / o में निम्न स्थान का उपयोग करके साझा किया जा रहा हिस्सा काम करता है:

smb://192.168.0.5/storage/

अधिक जानकारी। मैंने अभी देखा कि यदि मैं बढ़ते हुए शेयर को फ़ाइल कॉपी करता हूं, तो मेरे उबंटू ग्राहक तुरंत "कोई नहीं" मालिक बन जाते हैं, और समूह "कोई समूह" नहीं पढ़ता है और लिखता है, बाकी सभी को केवल-पढ़ने के लिए।

यहाँ छवि विवरण दर्ज करें

मैं क्या गलत कर रहा हूं?


तो, मुझे देखने दो: आप अपने Ubuntu क्लाइंट से शेयर को माउंट कर सकते हैं (जैसा कि रूट मैंने आपके fstab प्रविष्टियों को दिया है), आप तब पढ़ सकते हैं और लिख सकते हैं, लेकिन आप हटा नहीं सकते हैं या बना नहीं सकते हैं? फिर कैसे आता है कि आप कॉपी कर सकते हैं (नकल के लिए, फ़ाइल बनाना एक आवश्यक है)?
जनवरी

जवाबों:


56

इस काम को करने के लिए मुझे FSTAB में एक स्थानीय (क्लाइंट) UID को माउंट लाइन में जोड़ने की आवश्यकता है। मैं सरासर बल के माध्यम से इस पर पहुंचा:

//192.168.0.5/storage /media/myname/TK-Public/ cifs guest,uid=myuser,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0

3
एक आम समस्या है, और कोई जवाब नहीं है ... कमाल है!
dan3

ओह्ह, बस मुझे क्या चाहिए ... बहुत बहुत धन्यवाद - घंटे के लिए यह देख!
pkdkk

1
एक अन्य गोचा: सुनिश्चित करें कि cifs-utilsस्थापित किया गया है (मेरे लिए "मुख्य" सांबा pkg स्थापित करने के बाद 16.04 के तहत स्थापित नहीं किया गया था)। यदि आपने इसे स्थापित नहीं किया है, तो आपको 'खराब fs / खराब विकल्प' त्रुटि मिलेगी।
17

बाद मैं स्थापित है कि मैं अन्य जवाब में perms का इस्तेमाल किया और कहा: //10.20.30.40/share/mysharedir /mnt/mymountpoint cifs guest,uid=nobody,iocharset=utf8,noperm 0 0 करने के लिए /etc/fstabतो sudo mount -a। अब माउंट / लिखने के लिए लगता है।
बिशेया

मेरे लिए, थोड़ा सा सरल संस्करण (बिना uid) ने सभी उपयोगकर्ताओं के लिए ठीक से आर / डब्ल्यू माउंट करने का काम किया, जो एक अन्य लिनक्स मशीन से एक सार्वजनिक हिस्सा है://server_name/share_name /media/local_mountpoint cifs guest,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0
woohoo

6

CIFS में आम तौर पर उपयोगकर्ता और समूह की कोई अवधारणा नहीं होती है, इसलिए एक cifs साझा करना उपयोगकर्ता और समूह को दिखाने में डिफ़ॉल्ट होगा क्योंकि कोई भी व्यक्ति इसके साथ नहीं है:

drwxdrwxdrwx. 3 nobody nobody 0 Sep 29 09:00 .
drwxdrwxdrwx. 9 nobody nobody 0 Sep 29 09:00 ..

चूंकि आप 'कोई नहीं' हैं लिनक्स आपको कुछ भी लिखने नहीं देगा जिसमें 0777 की अनुमति नहीं है जब तक कि आप sudo का उपयोग नहीं करते हैं। इसे ठीक करने के लिए, uid = mylogin, gid = mygroup को fstab में जोड़ें और यह शेयर को ऐसा दिखाएगा मानो यह आपकी अपनी निर्देशिका है:

drwxdrwxdrwx. 3 mylogin mygroup 0 Sep 29 09:00 .
drwxdrwxdrwx. 9 mylogin mygroup 0 Sep 29 09:00 ..

अब आपको सुडो की आवश्यकता के बिना पूर्ण नियंत्रण है।

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


1
हाँ यदि अतिथि / कोई भी / आदि का उपयोग नहीं कर रहा है। सुनिश्चित करें कि मूल फ़ोल्डर में पूर्ण पढ़ने / लिखने / निष्पादित करने के लिए है। मैं कुछ आंतरिक नेटवर्क शेयरों पर इस परमिट का उपयोग करता हूं - इसलिए यह सुरक्षा मुद्दा नहीं है। उपविजेता
bshea

लेकिन आपकी पोस्ट के विपरीत - जब मैं बढ़ते के लिए सही विकल्प था, तब मैं उपयोगकर्ता ('माउंटिंग') का उपयोग करने में सक्षम था। मेरी अन्य टिप्पणियाँ देखें ..
bshea

यह घुड़सवार फ़ाइलों पर सभी के लिए व्यापक अनुमतियाँ स्थापित करने की तुलना में कहीं बेहतर समाधान है। और यह काम करता है।
j0,000ue

5

आप लगभग वहाँ हैं। उपयोग करके FSTAB खोलें:

sudo nano /etc/fstab

अंतिम पंक्ति में (या अंतिम लाइनों पर) जगह:

//192.168.0.5/storage /media/myname/TK-Public/ cifs username=YOURUSERNAME,password=YOURPASSWORD,iocharset=utf8,file_mode=0777,dir_mode=0777

*** (यह सब एक लंबी लाइन है)

Ctrl- सौदा Xबंद करने के लिए, Yबचाने और दर्ज करने के लिए।

अब इसके द्वारा रिबूट करें:

sudo reboot

और आपको अपने लिनक्स डिवाइस पर नेटवर्क शेयर का पूरा नियंत्रण होना चाहिए!


1
आप उस पासवर्ड को उदाहरण पासवर्ड के साथ बदलना चाह सकते हैं।
स्पॉटलाइट

9
fstabप्रविष्टियों को माउंट करने के लिए रिबूट करने की आवश्यकता नहीं है । बस mount <DEVICE>या mount <MOUNTPOINT>या यहां तक कि mount -aकाम ठीक से करते हैं।
डेविड फ़ॉस्टर

1

मुझे यह समस्या थी और यह इसलिए था क्योंकि शेयर के उपयोगकर्ता के पास यह नहीं था। मैंने इसे "sudo chown {username}: {username} / {share} / {path}" के साथ ठीक किया, उसके बाद मैं फ़ाइलों को स्थानांतरित और हटा सकता था।

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