// अद्यतित फरवरी 8 - संक्षिप्त मुद्दों को संक्षिप्त में:
- फ़ाइलों से अलग निर्देशिकाओं को umask कैसे करें?
- Nautilus कॉपी / पेस्ट पर umask कैसे करें?
- SSHFS के लिए umask कैसे सेट करें?
हमारी स्थिति
हमारी कंपनी के कई लोग सर्वर में लॉग इन करते हैं और फाइलें अपलोड करते हैं। वे सभी एक ही फाइल को अपलोड और अधिलेखित करने में सक्षम होने की आवश्यकता है। उनके अलग-अलग उपयोगकर्ता नाम हैं, लेकिन सभी एक ही समूह का हिस्सा हैं। हालांकि, यह एक इंटरनेट सर्वर है, इसलिए "अन्य" उपयोगकर्ताओं के पास (सामान्य रूप से) केवल-पढ़ने के लिए एक्सेस होना चाहिए। तो मुझे क्या करना है इन मानक अनुमति है:
फ़ाइलें: 664
निर्देशिका: 771
मेरा लक्ष्य यह है कि सभी उपयोगकर्ताओं को अनुमतियों के बारे में चिंता करने की आवश्यकता नहीं है। सर्वर को इस तरह से कॉन्फ़िगर किया जाना चाहिए कि ये अनुमतियाँ सभी फ़ाइलों और निर्देशिकाओं, नए बनाए, कॉपी किए गए या अधिक लिखे जाने पर लागू हों। केवल जब हमें कुछ विशेष अनुमतियों की आवश्यकता होती है, तो हम इसे मैन्युअल रूप से बदलते हैं।
हम Nautilus में SFTP-ing द्वारा सर्वर पर फाइल अपलोड करते हैं, सर्वर को sshfs का उपयोग करके बढ़ते हैं और इसे Nautilus में एक्सेस करते हैं जैसे कि यह एक स्थानीय फ़ोल्डर था, और कमांड लाइन में SCP-ing द्वारा। यह मूल रूप से हमारी स्थिति को कवर करता है और हम जो करना चाहते हैं।
अब, मैंने सुंदर umask कार्यक्षमता के बारे में कई बातें पढ़ी हैं। जो मैं umask समझता हूं (PAM के साथ मिलकर) मुझे वही करना चाहिए जो मुझे चाहिए : नई फ़ाइलों और निर्देशिकाओं के लिए मानक अनुमतियाँ सेट करें। हालांकि, कई घंटों के पढ़ने और परीक्षण-और-त्रुटि के बाद, मुझे अभी भी यह काम करने के लिए नहीं मिलता है। मुझे कई अप्रत्याशित परिणाम मिले। मैं वास्तव में umask की एक ठोस समझ प्राप्त करना पसंद करता हूं और कई प्रश्न अनुत्तरित हैं। मैं अपने निष्कर्षों और मेरे परीक्षणों के स्पष्टीकरण के साथ इन सवालों को नीचे पोस्ट करूंगा, जिससे इन सवालों का सामना करना पड़ा। यह देखते हुए कि कई चीजें गलत होती हैं, मुझे लगता है कि मैं कई चीजों को गलत कर रहा हूं। इसलिए, कई सवाल हैं।
नोट: मैं Ubuntu 9.10 का उपयोग कर रहा हूं और इसलिए SFTP सर्वर के लिए umask सेट करने के लिए sshd_config को बदल नहीं सकता । स्थापित SSH OpenSSH_5.1p1 Debian-6ubuntu2 <आवश्यक OpenSSH 5.4p1। तो यहाँ प्रश्न जाओ।
1. क्या मुझे पैसों को लेने के लिए पुनर्स्थापना की आवश्यकता है?
इससे शुरुआत करते हैं। इसमें बहुत सारी फाइलें शामिल थीं और मैं यह पता लगाने में असमर्थ था कि क्या करता है और क्या चीजों को प्रभावित नहीं करता है, इसलिए भी कि मुझे नहीं पता था कि प्रभावी होने के लिए मुझे पीएएम परिवर्तनों के लिए पूरी प्रणाली को पुनरारंभ करना है या नहीं। मैंने अपेक्षित परिणाम नहीं देखने के बाद ऐसा किया, लेकिन क्या यह वास्तव में आवश्यक है? या मैं सिर्फ सर्वर से लॉग आउट कर वापस लॉग इन कर सकता हूं और क्या नई पीएएम नीतियां प्रभावी होनी चाहिए? या फिर पुनः लोड करने के लिए कुछ 'PAM' कार्यक्रम है?
2. क्या वहाँ सभी अवसरों के लिए सभी उपयोगकर्ताओं को बचाने के लिए एक एकल फ़ाइल है?
इसलिए मैंने MANY फ़ाइलों को बदलना समाप्त कर दिया, क्योंकि मैंने MANY विभिन्न चीजों को पढ़ा। मैंने निम्नलिखित फाइलों में umask सेट करना समाप्त किया:
~/.profile -> umask=0002
~/.bashrc -> umask=0002
/etc/profile -> umask=0002
/etc/pam.d/common-session -> umask=0002
/etc/pam.d/sshd -> umask=0002
/etc/pam.d/login -> umask=0002
मैं चाहता हूं कि यह परिवर्तन सभी उपयोगकर्ताओं पर लागू हो, इसलिए किसी प्रकार का सिस्टम-व्यापी परिवर्तन सबसे अच्छा होगा। क्या इसे प्राप्त किया जा सकता है?
3. सभी के बाद, इस UMASK थिंग, यह काम करता है?
इसलिए हर संभव जगह पर umask को 0002 में बदलने के बाद, मैं परीक्षण चलाता हूं।
------------ SCP -----------
परीक्षण 1:
scp testfile (which has 777 permissions for testing purposes) server:/home/
testfile 100% 4 0.0KB/s 00:00
चलो अनुमतियों की जाँच करें:
user@server:/home$ ls -l
total 4
-rwx--x--x 1 user uploaders 4 2011-02-05 17:59 testfile (711)
अद्यतन: pam.d / आम-सत्रों में केवल umask सेट करके तय (टिप्पणियां देखें)
--------- SSH ------------
परीक्षण 2:
ssh server
user@server:/home$ touch anotherfile
user@server:/home$ ls -l
total 4
-rw-rw-r-- 1 user uploaders 0 2011-02-05 18:03 anotherfile (664)
-------- SFTP -----------
नॉटिलस: sftp: // सर्वर / होम /
क्लाइंट से सर्वर पर न्यूफ़ाइल कॉपी और पेस्ट करें (777 क्लाइंट पर)
परीक्षण 3:
user@server:/home$ ls -l
total 4
-rwxrwxrwx 1 user uploaders 3 2011-02-05 18:05 newfile (777)
Nautilus के माध्यम से एक नई फ़ाइल बनाएँ। टर्मिनल में फ़ाइल अनुमतियों की जाँच करें:
परीक्षण 4:
user@server:/home$ ls -l
total 4
-rw------- 1 user uploaders 0 2011-02-05 18:06 newfile (600)
मेरा मतलब है ... अभी यहाँ क्या हुआ ?! हमें हर एक बार 644 मिलना चाहिए । इसके बजाय मुझे 711, 777, 600 और फिर एक बार 644 मिलता है। और 644 केवल एसएसएच के माध्यम से एक नई, रिक्त फ़ाइल बनाते समय प्राप्त होता है, जो कि सबसे कम संभावित परिदृश्य है।
तो मैं पूछ रहा हूँ, क्या ओम्स्क / पीएम आखिर काम करता है?
अद्यतन: pam.d / आम-सत्रों में केवल umask सेट करके निर्धारित परीक्षण 4 (टिप्पणियां देखें)
4. UMASK SSHFS के लिए यह क्या है?
कभी-कभी हम एक सर्वर को स्थानीय रूप से माउंट करते हैं, sshfs का उपयोग करते हुए। बहुत उपयोगी। लेकिन फिर, हमारे पास अनुमतियाँ समस्याएँ हैं।
यहां बताया गया है कि हम कैसे माउंट करते हैं:
sshfs -o idmap=user -o umask=0113 user@server:/home/ /mnt
नोट: हम umask = 113 का उपयोग करते हैं क्योंकि जाहिरा तौर पर, sshfs 666 के बजाय 777 से शुरू होता है, इसलिए 113 के साथ हमें 664 मिलता है जो वांछित फ़ाइल अनुमति है।
लेकिन अब क्या होता है कि हम सभी फाइलों और निर्देशिकाओं को देखते हैं जैसे कि वे 664 हैं। हम Nautilus में / mnt में ब्राउज़ करते हैं:
- राइट क्लिक -> नई फ़ाइल (newfile) --- टेस्ट 5
- राइट क्लिक -> नया फ़ोल्डर (newfolder) --- टेस्ट 6
- हमारे स्थानीय क्लाइंट --- 7 टेस्ट से 777 फाइल कॉपी और पेस्ट करें
तो आइए कमांड लाइन पर देखें:
user@client:/mnt$ ls -l
total 8
-rw-rw-r-- 1 user 1007 3 Feb 5 18:05 copyfile (664)
-rw-rw-r-- 1 user 1007 0 Feb 5 18:15 newfile (664)
drw-rw-r-- 1 user 1007 4096 Feb 5 18:15 newfolder (664)
लेकिन हे, चलो सर्वर-साइड पर इसी फ़ोल्डर की जांच करें:
user@server:/home$ ls -l
total 8
-rwxrwxrwx 1 user uploaders 3 2011-02-05 18:05 copyfile (777)
-rw------- 1 user uploaders 0 2011-02-05 18:15 newfile (600)
drwx--x--x 2 user uploaders 4096 2011-02-05 18:15 newfolder (711)
क्या?! वास्तविक फ़ाइल अनुमतियाँ हम Nautilus में जो देखते हैं उससे बहुत अलग हैं। तो क्या sshfs पर यह umask सिर्फ एक 'फ़िल्टर' बनाता है जो अवास्तविक फ़ाइल अनुमतियाँ दिखाता है? और मैंने एक अन्य उपयोगकर्ता से एक फ़ाइल खोलने की कोशिश की, लेकिन उसी समूह के पास वास्तविक 600 अनुमतियाँ थीं, लेकिन 644 'नकली' अनुमतियाँ थीं, और मैं अभी भी इसे नहीं पढ़ सका, इसलिए यह फ़िल्टर कितना अच्छा है ??
5. UMASK सभी के बारे में फ़ाइलें है। दिशाओं के बारे में क्या होगा?
अपने परीक्षणों से मैं देख सकता हूं कि जो umask लगाया जा रहा है, वह किसी भी तरह निर्देशिका अनुमतियों को प्रभावित करता है। हालाँकि, मैं चाहता हूं कि मेरी फाइलें 664 (002) और मेरी निर्देशिका 771 (006) हो। तो क्या निर्देशिकाओं के लिए एक अलग umask होना संभव है?
6. परमात्मा UMASK / PAM वास्तव में शांत है, लेकिन UBUNTU बस शरीर है?
एक ओर, मैंने उन लोगों के विषय पढ़े हैं जिन्हें PAM / UMASK और उबंटू के साथ सफलता मिली है। दूसरी ओर, मुझे उबंटू / PAM / फ्यूज के बारे में कई पुराने और नए बग मिले हैं:
- https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/241198
- https://bugs.launchpad.net/ubuntu/+source/fuse/+bug/239792
- https://bugs.launchpad.net/ubuntu/+source/pam/+bug/253096
- https://bugs.launchpad.net/ubuntu/+source/sudo/+bug/549172
- http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=314796
इसलिए मुझे नहीं पता कि अब मुझे क्या विश्वास करना चाहिए। क्या मुझे बस हार माननी चाहिए? क्या एसीएल मेरी सभी समस्याओं का समाधान करेगा ? या क्या मुझे उबंटू का उपयोग करने में फिर से समस्या है?
टार का उपयोग कर बैकअप के साथ सावधानी का एक शब्द। Red Hat / Centos वितरण टार प्रोग्राम में acls का समर्थन करता है, लेकिन Ubuntu बैक अप लेने पर acls का समर्थन नहीं करता है। इसका मतलब यह है कि जब आप एक बैकअप बनाते हैं तो सभी एकड़ खो जाएंगे।
मैं उबंटू 10.04 में अपग्रेड करने के लिए तैयार हूं, अगर वह मेरी समस्याओं को भी हल कर देगा, लेकिन पहले मैं समझना चाहता हूं कि क्या हो रहा है।