मुझे बनाया निर्देशिकाओं पर उचित अनुमतियाँ सेट करने के लिए सांबा नहीं मिलेगा


17

मैं एक ubuntu सर्वर सांबा का उपयोग कर कुछ फ़ोल्डर्स साझा कर रहा हूँ। जब कोई ग्राहक एक नया फ़ोल्डर या फ़ाइल बनाता है, तो smb.conf में सेटिंग्स के अनुसार अनुमतियाँ सेट नहीं की जाती हैं।

एक विशिष्ट शेयर के लिए मेरी वर्तमान सेटिंग्स:

[share]
    path = /mnt/share
    browsable = yes
    guest ok = no
    writable = yes
    read only = no
    create mask = 0774
    directory mask = 0774
    write list = netuser

जब एक सांबा क्लाइंट (एक विंडोज़ 7 बॉक्स) एक फ़ाइल या निर्देशिका बनाने के लिए 'नेट्यूसर' खाते का उपयोग करता है, तो अनुमतियाँ बन जाती हैं

drwxr-sr-- 2 netuser sambashare      4096 2012-01-22 21:14 New folder
-rwxrw-r-- 1 netuser sambashare         0 2012-01-22 21:07 New Text Document.txt

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

मैंने निर्देशिका मास्क, बल निर्देशिका मोड, निर्देशिका सुरक्षा मोड और बल निर्देशिका सुरक्षा मोड को जोड़ने और हटाने का परीक्षण किया है, लेकिन व्यवहार अभी भी बना हुआ है। नई बनाई गई फ़ाइलें और फ़ोल्डर्स क्रमशः 774 की अनुमति नहीं देते हैं, बल्कि क्रमशः 764 और 754।

मुझे किसकी याद आ रही है? सांबा सही अनुमति क्यों नहीं देता?

जवाबों:


19

मुझे लगता है कि आपको निम्नलिखित मापदंडों का उपयोग करने की आवश्यकता है:

# I changes the permissions to rw-rw-r--
# You should be able to change them to 775 if you need the files to
# be executable
create mask = 664
force create mode = 664
security mask = 664
force security mode = 664

# I set the SGID flag here as I thought this is what you wanted
# You could change to 0775
directory mask = 2775
force directory mode = 2775
directory security mask = 2775
force directory security mode = 2775

मैं एक अच्छी व्याख्या के लिए देख रहा था कि ये सेटिंग्स कैसे काम करती हैं, लेकिन कुछ भी बेहतर नहीं मिला तो आदमी smb.conf

आपको उन विकल्पों के लिए थोड़ा नीचे स्क्रॉल करना होगा।

असल में, संक्षेप में, विंडोज़ की अनुमतियाँ यूनिक्स (लिनक्स) के समान नहीं हैं और यह थोड़ा अजीब है कि सांबा नक्शे की अनुमति कैसे देते हैं।


1
हाँ, यह लगभग सांबा के समान ही प्रतीत होता है। samba.org/samba/docs/man/manpages-3/smb.conf.5.html जिस पर मैंने गौर किया, समस्या यह है कि यह मायने नहीं रखता है कि अष्टक क्या है मेरे द्वारा सेट किए गए मान, मुझे अभी भी बनाई गई फ़ाइल या फ़ोल्डर पर समान अनुमतियाँ मिलती हैं।
ज़ाज

क्या आपने मेरे द्वारा दिए गए सभी विकल्पों को निर्धारित किया है? यदि हां, तो कृपया अपनी पहली पोस्ट अपडेट करें और उस समय मैं आपको बग रिपोर्ट दर्ज करने का सुझाव दूंगा।
पैंथर

1
यह पहले से ही कहा .. लेकिन करीब निरीक्षण और परीक्षण पर, निर्देशिका मास्क में 2 जोड़कर समस्या को ठीक किया। बहुत धन्यवाद। : डी
ज़ाज़

शानदार, यह स्वीकार किए गए उत्तर के रूप में चिह्नित करने के लिए धन्यवाद, यह एक समान समस्या के साथ दूसरों की मदद करता है।
पैंथर

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

8

बहुत सारे परीक्षण और त्रुटि के बाद, यह SGID और यूनिक्स समूहों का उपयोग करके सांबा dir साझा करने का सही कोड है। यदि उपयोगकर्ता गुमनाम रूप से जोड़ता है तो उसे r / o मिलता है, यदि वह लॉग इन करता है और असाइन किए गए समूह का सदस्य है जिसे वह r / w मिलता है।

मेरे पास 'एडमिन' नाम का समूह है, जो लिखने वाले विशेषाधिकारों के साथ प्राथमिक समूह के रूप में सेट है, बाकी सभी को केवल अधिकार प्राप्त हैं।

मैं उपयोगकर्ता को किसी के लिए मजबूर नहीं करता हूं, इसलिए एक ही फाइल पर काम करने वाले विभिन्न लोग एक-दूसरे के साथ हस्तक्षेप नहीं करते हैं।

मैंने chmod 2755 को साझा निर्देशिका पर सेट किया है, इसलिए यह एक ही समूह 'व्यवस्थापक' के साथ बनाई गई निर्देशिकाओं को विरासत में मिला है

$ chmod -R 2755 /home/shares/test

जाँच करना कि क्या अच्छा है:

$ stat /home/shares/test
Access: (2755/drwxr-sr-x)  Uid: (65534/  nobody)   Gid: ( 1001/   admin)

/Etc/samba/smb.conf का प्रासंगिक भाग:

[test]
        comment = test
        path = /home/shares/test
        force user = nobody
        read only = No
        create mask = 0664
        force create mode = 0664
        directory mask = 02775
        force directory mode = 02775

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


7

मुझे भी यही समस्या थी, लेकिन मास्क निर्देशन की तरह मेरे लिए सब कुछ काम नहीं आया (सांबा 4.3.11):

 create mask = 0664
 force create mode = 0664
 directory mask = 02775
 force directory mode = 02775

काम करने वाला एकमात्र विकल्प [वैश्विक] या शेयर सेक्शन के तहत था:

 inherit permissions = yes

बस अपनी आवश्यकता के लिए सभी फ़ोल्डर और फ़ाइल अनुमतियाँ बदलें, इसलिए भविष्य के फ़ोल्डर और फ़ाइलें समान अनुमतियाँ प्राप्त करेंगे।


मैं सांबा संस्करण 4.7.6-उबंटू का उपयोग कर रहा हूं। और यह मेरे लिए भी काम कर रहा है।
एंडी एस।

सही जवाब के लिए 4.8.11पर freebsdभी :)
घबराना

18.04.3 पर सरल और परिपूर्ण
मेरिट

3

अन्य यूनिक्स / लिनक्स / ओएसएक्स / मैकओएस डिवाइस से कनेक्ट करते समय एक समान समस्या होती है: जब तक यह निर्दिष्ट नहीं किया जाता है तब तक सभी सेटिंग्स को अनदेखा किया जाता है।

[global]

unix extensions = no

और के smb://<serverhost>बजाय के साथ कनेक्ट cifs://<serverhost>


0
 Here add this code to the sudo nano smb.conf
 and restart sudo service smbd restart  and access from another local PC/computer using connect with smb://<serverhost>  to create or edit files/folder   html is folder name 

 [html]
   comment = admin access
   path = /var/www/html
   browsable = yes
   guest ok = no
   writable = yes
   valid users = @admin
   create mask = 664
   force create mode = 664
   security mask = 664
   force security mode = 664
   directory mask = 2775
   force directory mode = 2775
   directory security mask = 2775
   force directory security mode = 2775
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.