अनुमति बिट्स सांबा शेयर पर लागू नहीं किया जा रहा है


12

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

यहाँ क्या हो रहा है:

user@linuxbox:~-->ls -l ~/archive/foo.txt
ls: cannot access /home/user/archive/foo.txt: No such file or directory
user@linuxbox:~-->touch ~/archive/foo.txt
user@linuxbox:~-->ls -l ~/archive/foo.txt
-rw-rw-r-- 1 archive archive 0 2010-09-13 20:29 /home/user/archive/foo.txt
user@linuxbox:~-->touch ~/archive/foo.txt
user@linuxbox:~-->ls -l ~/archive/foo.txt
-rwxrwxrwx 1 archive archive 0 2010-09-13 20:30 /home/user/archive/foo.txt

ध्यान दें कि जब मैं मौजूदा फाइल को छूता हूं तो इसकी अनुमति बिट्स 0777 होती है। वे 0664 मानी जाती हैं, जब यह पहली बार बनाई गई थी। मैं मौजूदा फ़ाइल पर 0664 कैसे लागू कर सकता हूं?

मेरे पास सर्वर पर 3.0.24 और क्लाइंट पर संस्करण 3.4.7 है। यहाँ मेरा smb.conf है:

[global]
interfaces = egiga0
unix charset = UTF8
workgroup = workgroup
netbios name = foo
server string = Foo
security = USER
map to guest = bad user
host msdfs = no
encrypt passwords = yes

[archive]
comment = File Archive
path = /home/archive
force user = archive
force group = archive
read only = yes
write list = @archive
guest ok = yes
create mask = 0
force create mode = 0664
security mask = 0
force security mode = 0664
directory mask = 0
force directory mode = 0775
directory security mask = 0
force directory security mode = 0775

आपके smb.conf में क्या है?
ग्रिजली

मैंने अपनी smb.conf की सामग्री को स्पष्ट रूप से रखा है, अगर मुझे सभी स्पष्ट मोड और मुखौटा बिट्स की आवश्यकता है, तो मैं अनिश्चित हूं।
जोनाथन वाटनी

@Jonathon आपके सभी touchआईएनजी एक * निक्स सिस्टम पर लगता है ... क्या आप विंडोज पर फाइल बना रहे हैं? या आप एक विंडोज सिस्टम से फाइल बना रहे हैं? या सांबा के माध्यम से यह * निक्स टू * निक्स है (जिस स्थिति में सांबा और
एनएएफएस

@xenoterracide, मैं लिनक्स क्लाइंट का उपयोग करके शेयर पर एक फ़ाइल को छू रहा हूं; मैं इस मामले में * nix to * nix जा रहा हूं। इस सांबा सेवा से जुड़ने वाले विंडोज, मैक और लिनक्स मशीनों का मिश्रण है।
जोनाथन वाटनी

क्या आप सुनिश्चित हैं कि आपके मुखौटे अच्छे हैं? मास्क, सुरक्षा मास्क, निर्देशिका मास्क बनाएँ। डॉक्स मौसम के हिसाब से स्पष्ट नहीं होता है और मास्क के लिए '0' स्वयं मान्य होता है। इसके अलावा ... कितना अजीब है।
गाबा

जवाबों:


2

सांबा अनुमतियाँ केवल SMB (यानी विंडोज) नेटवर्क क्लाइंट पर काम करती हैं। यदि आप इसे सर्वर (और किसी भी NFS क्लाइंट) पर लागू करना चाहते हैं, तो आपको सभी निर्देशिकाओं पर चिपचिपा सा सेट करने की आवश्यकता है।

पहले वहां मौजूद फाइलों को सही करें:

chown -R archive /home/archive 
chgrp -R archive /home/archive 
find /home/archive -type d -exec chmod 0775 {} \;
find /home/archive -type f -exec chmod 0664 {} \;

फिर इसे समूह चिपचिपा बिट के साथ लागू करें

find /home/archive -type d -exec chmod g+s {} \;

यह अचूक नहीं है, लेकिन इस तरह की समस्या का 99% हल करता है।

सादर डेवएफ

मेरे सोलारिस बॉक्स पर परिणाम:

davef@dalek[10]$ cd /proj/ftptmp
davef@dalek[11]$ ls -ld .
drwxrwsr-x  60 root     ftpusers     377 Oct  5 09:31 ./
davef@dalek[12]$
davef@dalek[12]$ ls -l foo.txt
foo.txt: No such file or directory
davef@dalek[13]$ touch foo.txt
davef@dalek[14]$ ls -l foo.txt
-rw-rw-r--   1 davef    ftpusers       0 Oct 15 11:49 foo.txt
davef@dalek[15]$ touch foo.txt
davef@dalek[16]$ ls -l foo.txt
-rw-rw-r--   1 davef    ftpusers       0 Oct 15 11:49 foo.txt
davef@dalek[17]$
davef@dalek[17]$ umask
2
davef@dalek[18]$

धन्यवाद। अंत में इसे आज़माने का मौका मिला लेकिन दुर्भाग्य से यह समस्या बनी हुई है।
जोनाथन वाटनी

मुझे आश्चर्य है कि क्या यह आपके umask हो सकता है?
डेविड एलन फिंच

मेरा umask 0022 है। कोई अन्य विचार? :)
जोनाथन वाटनी

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