chmod u+xकेवल और केवल के बीच अंतर क्या है chmod +x? मैंने एक टन ट्यूटोरियल देखा u+xहै जो स्क्रिप्ट को निष्पादन योग्य बनाने के लिए उपयोग करने के लिए कहता है । हालाँकि, छोड़ने से uकोई प्रभाव नहीं पड़ता है।
chmod u+xकेवल और केवल के बीच अंतर क्या है chmod +x? मैंने एक टन ट्यूटोरियल देखा u+xहै जो स्क्रिप्ट को निष्पादन योग्य बनाने के लिए उपयोग करने के लिए कहता है । हालाँकि, छोड़ने से uकोई प्रभाव नहीं पड़ता है।
जवाबों:
chmodउस कवर का मैन पेज ।
इसका मतलब है कि chmod u+x somefileकेवल उस फ़ाइल निष्पादन अनुमतियों के मालिक को अनुदान देगा जबकि chmod +x somefileयह उसी तरह है chmod a+x somefile।
एक प्रतीकात्मक मोड का प्रारूप है
[ugoa...][[+-=][rwxXstugo...]...][,...]। कई प्रतीकात्मक संचालन दिए जा सकते हैं, जिन्हें अल्पविराम द्वारा अलग किया जाता है।'Ugoa' अक्षरों का एक संयोजन जो उपयोगकर्ताओं की फ़ाइल तक पहुँच को नियंत्रित करता है, उसे बदला जाएगा: वह उपयोगकर्ता जो इसका (u) मालिक है, फ़ाइल के समूह में अन्य उपयोगकर्ता (g), अन्य उपयोगकर्ता फ़ाइल के समूह (o) में नहीं हैं, या सभी उपयोगकर्ता (ए)। यदि इनमें से कोई भी नहीं दिया जाता है, तो प्रभाव ऐसा होता है जैसे 'a' दिया गया था, लेकिन umask में सेट बिट्स प्रभावित नहीं होते हैं।
chmod +x fileअलग है chmod a+x file- विवरण के लिए रवेक्सिना का उत्तर देखें।
बस करने +xसे यह सभी झंडों पर लागू होगा: [यू] सर्, [जी] रूप, [ओ] थर्स।
man chmodअधिक जानकारी के लिए टाइप करें।
सबसे पहले मैं आपको इन सवालों और नीचे दिए गए उत्तरों को पढ़ने का सुझाव देता हूं:
यह आपको उन सभी आवश्यक भागों को समझने में मदद करता है जिन्हें आपको जानना आवश्यक है।
chmod +xके बराबर है chmod ugo+x( umaskमूल्य के आधार पर )chmod a+xके बराबर है chmod ugo+x( umaskमूल्य पर विचार किए बिना )इसका परिणाम सभी के chmod a+xलिए निष्पादन योग्य बिट (स्वामी, समूह, अन्य) को सेट करना आसान है?
हालांकि chmod +x, यह थोड़ा मुश्किल है, यह कहता है umaskकि मूल्य का उपयोग करें और उस मूल्य के आधार पर xइसे सभी को जोड़ें जो अनुमति दी गई है।
तो अगर umaskमेरे पर्यावरण का है 0002:
$ umask
0002
$ umask -S
u=rwx,g=rwx,o=rx
यह xइस स्थिति में उपयोगकर्ता (स्वामी), समूह और अन्य को जोड़ने जा रहा है , (जो कि अधिकांश प्रणालियों के लिए डिफ़ॉल्ट स्थिति है) यह बिल्कुल वैसा chmod ugo+xही है chmod a+x, जैसा या अधिक क्रिया रूप में है:
chmod u+x,g+x,o+x
क्या आप इसके chmod u+x,g+x,o+xऔर आउटपुट के बीच संबंध स्थापित कर सकते हैं umask -S?
चलिए अब umaskवर्तमान शेल में परिवर्तन करते हैं 0003:
$ umask 0003
$ umask
0003
$ umask -S
u=rwx,g=rwx,o=r
जैसा कि आप देख सकते हैं कि अब केवल मालिक और समूह ही निष्पादन योग्य होने जा रहे हैं, अन्य नहीं। इसका मतलब chmod +xअब chmod u+x,g+xया के बराबर है chmod ug+x।
अगर मैं जाए तो क्या होता chmod +wसेट करने के बाद एक फ़ाइल पर umaskकरने के लिए 0003?
पहले की तरह ही, यह केवल प्रभावित करता है userऔर groupफ़ाइल का क्योंकि 3 भी लेखन अनुमति (2) को हटा देता है।
जब आप थोड़ा सा हटा रहे हों तो इसका प्रभाव समान होता है chmod -w:
$ mkdir test
$ stat -c %A test
drwxrwxr-x
$ umask
0002
$ chmod +w test
$ stat -c %A test
drwxrwxr-x
$ chmod a+w test
$ stat -c %A test
drwxrwxrwx
$ chmod -w test
chmod: test/: new permissions are r-xr-xrwx, not r-xr-xr-x
$ stat -c %A test
dr-xr-xrwx
chmod u+x आपके उपयोगकर्ता के लिए फ़ाइल को निष्पादन योग्य बना देगा (यह केवल आपके उपयोगकर्ता के लिए जोड़ देगा, हालांकि यह समूह के मालिक, या "अन्य" द्वारा पहले से ही निष्पादन योग्य हो सकता है)।
chmod +xया chmod a+x('सभी प्लस निष्पादन योग्य बिट') फ़ाइल को सभी के द्वारा निष्पादन योग्य बनाता है।
यदि आप इसे किसी निर्देशिका में करते हैं, तो यह निर्देशिका को खोज करने योग्य बनाता है, बजाय। यानी, आप उस निर्देशिका की सामग्री को सूचीबद्ध कर सकते हैं, जिस पर आपके पास + x अनुमति है।
chmod u+x fileइसका मतलब यह है कि umask(आपके मॉड सेट किया जाएगा, कोई सवाल नहीं) की अनदेखी करते हुए फ़ाइल के मालिक के लिए निष्पादन योग्य बिट जोड़ें ।
chmod +x fileइसका मतलब है कि मालिक, समूह और अन्य लोगों के लिए निष्पादन योग्य बिट को जोड़ने पर विचार करें umask(पहले umaskतो मॉड लागू करें, यह umask के मूल्य के आधार पर अलग-अलग प्रभाव हो सकता है)।
चलो दो फाइलें बनाते हैं:
$ touch file1 file2
$ ls -l file1 file2
-rw-rw-rw- 1 ravexina ravexina 0 Aug 5 01:45 file1
-rw-rw-rw- 1 ravexina ravexina 0 Aug 5 01:45 file2
अब मैंने umaskनिष्पादन योग्य बिट्स को हटाने के लिए "111" पर सेट किया umask 111:।
$ chmod u+x file1
$ chmod +x file2
$ ls -l file1 file2
-rwxrw-rw- 1 ravexina ravexina 0 Aug 5 01:47 file1
-rw-rw-rw- 1 ravexina ravexina 0 Aug 5 01:47 file2
जैसा कि आप chmodनजरअंदाज कर सकते हैं umaskऔर फ़ाइल 1 को इसके मालिक के लिए निष्पादन योग्य बिट मिल गया, हालांकि दूसरे ने कुछ नहीं किया क्योंकि यह ओम्स्क के मूल्य पर विचार कर रहा है।