हिन्दी

डेवलपर टूल · chmod कैलकुलेटर

chmod प्रतीकात्मक मोड समझाया गया: u+x, g-w, o=r और a+rX

· यह काम किस प्रकार करता है

chmod Unix डेवलपर-वर्कफ़्लो

प्रतीकात्मक असाइनमेंट को एक विशिष्ट Unix अनुमति-बिट आरेख के रूप में दिखाया गया है
मूल ToolAcre वेक्टर चित्रण

chmod का प्रतीकात्मक रूप एक छोटा व्याकरण है: कौन, ऑपरेटर, कौन सा बिट्स। यह पोस्ट इसे अलग करती है ताकि यू+एक्स और गो-आरडब्ल्यूएक्स स्पष्ट हो जाएं, और दिखाता है कि प्रतीकात्मक कब ऑक्टल से आगे निकल जाता है।

अक्षरों से भरी एक परिनियोजन स्क्रिप्ट - chmod u+x,go-w deploy.sh काम करती है, लेकिन टीम में कोई भी यह नहीं बता सकता कि यह क्या बदलता है

U+x जैसा कमांड कैलकुलेटर के प्रतीकात्मक प्रदर्शन जैसा दिखता है, लेकिन दोनों रूपों में अलग-अलग कार्य होते हैं। संपादन योग्य प्रतीकात्मक फ़ील्ड नौ अनुमति स्थितियों को स्वीकार करता है, वैकल्पिक रूप से एक मान्यता प्राप्त फ़ाइल-प्रकार वर्ण से पहले। इसके विपरीत, उत्पन्न chmod तर्क u=, g=, और o= क्लॉज के साथ पूर्ण असाइनमेंट बताता है, इसलिए यह सापेक्ष परिवर्तन को पार्स करने के बजाय एक निश्चित मोड का प्रतिनिधित्व करता है।

750 दर्ज करने से भेद ठोस हो जाता है। डिस्प्ले rwxr-x--- है, जबकि जेनरेट किया गया असाइनमेंट u=rwx,g=rx,o= है। दोनों एक ही मालिक, समूह और अन्य बिट्स का वर्णन करते हैं, फिर भी केवल दूसरे को chmod तर्क के रूप में स्वरूपित किया गया है। पेज उस आदेश को कभी नहीं चलाता. यह प्रतिनिधित्व को उजागर करता है ताकि किसी अलग शेल कार्रवाई से पहले प्रस्तावित मूल्य की समीक्षा की जा सके।

कैलकुलेटर ls-शैली डिस्प्ले को उसके द्वारा उत्पन्न असाइनमेंट सूची से अलग करता है

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

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

जेनरेट किए गए असाइनमेंट में कौन से अक्षर दिखाई देते हैं; सापेक्ष छोड़ा गया-कौन व्याकरण पार्स नहीं किया गया है

असाइनमेंट जनरेटर प्रत्येक सामान्य वर्ग के लिए = का उपयोग करता है। वह विकल्प अनुरोधित स्वामी, समूह और अन्य त्रिगुणों का बिल्कुल पुनर्निर्माण करता है, जिसमें एक खाली दाहिनी ओर उत्सर्जित करके कक्षा को साफ़ करना भी शामिल है। हालाँकि + और - प्रतीकात्मक chmod कमांड से संबंधित हैं, उन्हें कैलकुलेटर इनपुट के रूप में स्वीकार नहीं किया जाता है। इसलिए पेज किसी अज्ञात प्रारंभिक मोड से वृद्धिशील परिवर्धन या निष्कासन का मॉडल नहीं बनाता है।

एक-बिट तुलना से पता चलता है कि समर्थित वर्कफ़्लो क्या साबित कर सकता है। मोड 750 rwxr-x--- प्रस्तुत करता है; समूह अंक को 7 में बदलने से rwxrwx--- उत्पन्न होता है और g=rx को g=rwx में बदल देता है। कैलकुलेटर पहले और बाद में पूर्ण किए गए मोड की पहचान करता है। यह लाइव फ़ाइल के विरुद्ध g+w का मूल्यांकन नहीं करता है, क्योंकि कोई भी वर्तमान मोड, पथ, फ़ाइल सिस्टम या कमांड निष्पादन रूपांतरण में भाग नहीं लेता है।

उत्पन्न ऑपरेटर = है, जबकि + और - इनपुट व्याकरण टूल के बाहर रहता है

पार्सर r और w को उनकी निश्चित स्थिति में, साथ ही x या - को सामान्य निष्पादन स्थिति में पहचानता है। यह s, S, t, और T को भी स्वीकार करता है जहां विशेष बिट्स उन स्थितियों को साझा करते हैं। कैपिटल एक्स अलग है: यह सापेक्ष chmod व्याकरण से संबंधित है और यहां समर्थित नहीं है। एक्स की आपूर्ति को सामान्य निष्पादन बिट के रूप में चुपचाप व्याख्या करने के बजाय अस्वीकार कर दिया जाता है।

लोअरकेस और अपरकेस विशेष अक्षरों को जानबूझकर लागू किया जाता है। Setuid और setgid s का उपयोग करते हैं जब उनका मिलान निष्पादन बिट मौजूद होता है और S जब यह अनुपस्थित होता है; स्टिकी अन्य-निष्पादित स्थिति में उसी नियम द्वारा t या T का उपयोग करता है। विशेष पंक्ति और चार अंकों का सारांश उन बिट्स को संरक्षित करता है। इनमें से कोई भी फ़ाइलों और निर्देशिकाओं में सशर्त पूंजी-एक्स चयन के लिए समर्थन नहीं जोड़ता है।

पार्सर r, w, x, s, S, t और T को स्वीकार करता है; कैपिटल एक्स समर्थित नहीं है

क्लास-कॉपी अभिव्यक्तियाँ जैसे g=u लागू नहीं की जाती हैं। कैलकुलेटर कभी भी किसी मौजूदा ऑब्जेक्ट से स्रोत वर्ग को नहीं पढ़ता है या एक वर्ग के बिट्स को दूसरे पर लागू नहीं करता है। यह एक पूर्ण ऑक्टल या एलएस-शैली मोड प्राप्त करता है, उस मान को नामित बूलियन में परिवर्तित करता है, और प्रत्येक वर्ग के लिए स्पष्ट झंडे उत्सर्जित करता है। इस पेज का निरीक्षण करने से पहले किसी भी कॉपी किए गए परिणाम की गणना कहीं और की जानी चाहिए।

मान लीजिए कि एक बाहरी कदम यह निर्धारित करता है कि मालिक और समूह दोनों के पास आरडब्ल्यूएक्स होना चाहिए जबकि अन्य के पास कुछ भी नहीं है। 770 दर्ज करने से rwxrwx--- और u=rwx,g=rwx,o= प्राप्त होता है। यह पूर्ण परिणाम की पुष्टि करता है लेकिन यह साबित नहीं करता कि इसे कैसे प्राप्त किया गया। स्वामित्व भी अज्ञात रहता है: कन्वर्टर वास्तविक मालिक, समूह या प्रक्रिया की पहचान किए बिना वर्गों को लेबल करता है जो लक्ष्य का सामना करेगा।

कक्षाओं के बीच अनुमतियों की प्रतिलिपि बनाना लागू नहीं किया गया है

मोड 0750 को इसके अग्रणी शून्य के साथ स्वीकार किया जाता है और 750 के समान मान के रूप में पार्स किया जाता है। स्वामी अंक 7 पढ़ने, लिखने और निष्पादित करने को सक्रिय करता है; समूह अंक 5 पढ़ने और निष्पादित करने को सक्रिय करता है; अन्य अंक 0 कुछ भी सक्रिय नहीं करता है। सिंक्रनाइज़ डिस्प्ले rwxr-x--- हो जाता है, और हमेशा चार अंकों वाला सारांश 0750 को एक स्पष्ट समीक्षा मान के रूप में दृश्यमान रखता है।

उस निश्चित मोड के लिए उत्पन्न प्रतीकात्मक असाइनमेंट u=rwx,g=rx,o= है। इसके तीन खंड सीधे मैट्रिक्स कॉलम से मेल खाते हैं, जबकि ऑक्टल कमांड पूर्वावलोकन 750 का उपयोग करता है जब तक कि किसी विशेष बिट को चौथे अंक की आवश्यकता न हो। पूर्वावलोकन में आपूर्ति किए गए पथ को उद्धृत किया जा सकता है, लेकिन इसे कभी नहीं खोला जाता है। उदाहरण प्रतिनिधित्व की पुष्टि करता है, स्वामित्व, प्राधिकरण या सफल अनुमति परिवर्तन की नहीं।

कार्यान्वित उदाहरण: 0750 एक निश्चित मोड और जेनरेट की गई असाइनमेंट सूची के रूप में

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

अमान्य इनपुट एक उपयोगी सीमा जाँच प्रदान करता है। गलत अनुमति पत्र, असमर्थित एक्स, अनुगामी मार्कर, या विकृत ऑक्टल अंक को सुधारने के बजाय अस्वीकार कर दिया जाता है। समर्थित नौ-अक्षर डिस्प्ले में पाठ को सही करने से एक मोड और सिंक्रनाइज़ दृश्य उत्पन्न होते हैं। यह स्वीकृति केवल यह साबित करती है कि स्ट्रिंग कार्यान्वित बारह बिट्स पर मैप करती है; यह बाहरी chmod सुविधा या लक्ष्य वातावरण को मान्य नहीं करता है।

संदर्भ, सिम्लिंक और ACL ऑपरेशन इस कन्वर्टर के बाहर रहते हैं

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

अंकगणितीय गलतियों को पकड़ने के लिए उन सिंक्रनाइज़ दृश्यों का उपयोग करें। यदि 750, rwxr-x---, और u=rwx,g=rx,o= एक साथ दिखाई देते हैं, तो निश्चित मोड आंतरिक रूप से सुसंगत है। जब तक वास्तविक प्रणाली अधिक साक्ष्य उपलब्ध नहीं कराती तब तक वहीं रुकें। पेज सापेक्ष ऑपरेटरों, छोड़े गए चयनकर्ताओं, क्लास कॉपीिंग या कैपिटल एक्स को पार्स नहीं करता है, और यह निर्धारित नहीं कर सकता है कि मोड वास्तविक विफल ऑपरेशन को संबोधित करता है या नहीं।