setguid
यहां 2 सेनाएं काम करती हैं। पहले setgid बिट उस फ़ोल्डर पर सक्षम है folder।
drwxr-s---. user group folder
यह sइस पंक्ति की शुरुआत में वर्णों के पैक में है। वे इस प्रकार समूहीकृत हैं:
d - directory
rwx - read/write/execute bits for user
r-s - read/execute/setuid bits for group
--- - nothing for other users
इसका r-sमतलब है कि इस फ़ोल्डर के अंदर बनाई गई किसी भी फ़ाइल या निर्देशिका में समूह को समूह में स्वचालित रूप से सेट किया जाएगा group।
यही कारण है कि फ़ाइलों foo.txtऔर bar.txtऐसा बनाया जा करने के लिए:
-rw-r--r--. user group foo.txt
-rw-rw-r--. user group bar.txt
अनुमतियाँ और umask
आपके द्वारा देखी जा रही अनुमतियां एक और मामला है। ये आपके लिए सेटिंग्स द्वारा नियंत्रित होते हैं umask। आप देख सकते हैं कि आपका umaskकमांड के साथ क्या सेट है umask:
$ umask
0002
नोट: इन बिट्स को "मोड" बिट्स भी कहा जाता है।
यह एक मुखौटा है इसलिए यह अनुमतियों से संबंधित किसी भी बिट को अक्षम कर देगा जो सक्षम हैं। इस उदाहरण में केवल एक बिट मैं चाहता हूं कि अन्य के लिए लिखने की अनुमति है।
0 - skipping for this conversation
0 - value of user bits
0 - value of group bits
2 - value of other bits
इस कमांड में "बिट्स" का प्रतिनिधित्व दशमलव रूप में है। तो एक 2 बाइनरी फॉर्म में 010 के बराबर है, जो राइट बिट है। 4 (100) का मतलब होगा कि आप विकलांग पढ़ना चाहते हैं। 7 (111) का अर्थ है कि आप सभी विकलांगों को पढ़ना / लिखना / निष्पादित करना चाहते हैं। इसे यहाँ से बनाना:
$ umask 007
अन्य उपयोगकर्ताओं के लिए बिट्स को पढ़ने / लिखने / निष्पादित करने को अक्षम करेगा।
तो फिर आपकी फाइलों का क्या?
खैर umaskनई फाइल बनने पर सेट की जाने वाली अनुमतियों को नियंत्रित करता है। तो अगर हम निम्नलिखित umaskसेट था:
$ umask 007
और नई फ़ाइलों को छूना शुरू किया, हम उन्हें इस तरह बनाया हुआ देखेंगे:
$ touch newfile1.txt newfile2.txt
$ ls -l |grep newfile
-rw-rw---- 1 saml saml 0 Nov 3 22:34 newfile1.txt
-rw-rw---- 1 saml saml 0 Nov 3 22:34 newfile2.txt
अगर हमने इसे किसी और चीज़ में बदल दिया, तो यह कहें:
$ umask 037
$ ls -l |grep newfile
-rw-rw---- 1 saml saml 0 Nov 3 22:36 newfile1.txt
-rw-rw---- 1 saml saml 0 Nov 3 22:36 newfile2.txt
-rw-r----- 1 saml saml 0 Nov 3 22:35 newfile3.txt
-rw-r----- 1 saml saml 0 Nov 3 22:35 newfile4.txt
इसका उन फ़ाइलों पर कोई प्रभाव नहीं पड़ेगा जो हमने पहले ही बनाई हैं। यहाँ देखें:
$ umask
0037
$ touch newfile1.txt newfile2.txt
$ ls -l | grep newfile
-rw-rw---- 1 saml saml 0 Nov 3 22:37 newfile1.txt
-rw-rw---- 1 saml saml 0 Nov 3 22:37 newfile2.txt
-rw-r----- 1 saml saml 0 Nov 3 22:35 newfile3.txt
-rw-r----- 1 saml saml 0 Nov 3 22:35 newfile4.txt
तो फिर फ़ाइल ब्राउज़र के साथ क्या हो रहा है?
वह umaskहै जिसे मैंने "सॉफ्ट" सेटिंग कहा है। यह किसी भी तरह से निरपेक्ष नहीं है और कई तरीकों से यूनिक्स में आसानी से पारित किया जा सकता है। कई उपकरण स्विच लेते हैं जो आपको उनके संचालन के भाग के रूप में अनुमतियाँ निर्दिष्ट करने की अनुमति देते हैं।
mkdirउदाहरण के लिए लें :
$ umask
0037
$ mkdir -m 777 somedir1
$
$ ls -ld somedir1
drwxrwxrwx 2 saml saml 4096 Nov 3 22:44 somedir1
-mस्विच के साथ हम ओवरराइड कर सकते हैं umask। touchताकि आप रचनात्मक प्राप्त करने के लिए आदेश इस सुविधा नहीं है। यह देखें U & L Q & A शीर्षक: क्या कमांड लाइन पर सेट की गई अनुमतियों के साथ फाइलें बनाई जा सकती हैं? सिर्फ ऐसे तरीकों के लिए।
दूसरा तरीका? बस ओवरराइड करें umask। फ़ाइल ब्राउज़र सबसे अधिक संभावना है कि यह या तो पूरी तरह से अनदेखा कर रहा है umaskऔर फ़ाइल को पूरी तरह से अनदेखा कर रहा है और जो कुछ भी इसे करने के लिए कॉन्फ़िगर किया गया है उसका उपयोग करके।