हिन्दी

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

Ls -l अनुमतियों को कैसे पढ़ें और उन्हें ऑक्टल मोड में कैसे बदलें

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

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

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

ls -l की शुरुआत में दस-अक्षर वाली स्ट्रिंग एक फ़ाइल प्रकार और नौ अनुमति बिट्स है। यह पोस्ट दिखाती है कि इसे कैसे डिकोड किया जाए और ऑक्टल मोड का उत्पादन किया जाए जो कि chmod चाहता है, जिसमें विशेष-बिट अक्षर भी शामिल हैं।

-rw-r-----+ वाला टिकट चिपका हुआ है - आपको यह जानना होगा कि क्या उपयोगकर्ता को chmod 640 चलाने के लिए कहा जाए या कुछ और

एक चिपकाई गई स्ट्रिंग जैसे -rw-r-----+ में इस पार्सर द्वारा स्वीकार की गई तुलना से अधिक शामिल है। मान्यता प्राप्त कोर एक नौ-वर्ण अनुमति निकाय है, वैकल्पिक रूप से एक समर्थित फ़ाइल-प्रकार वर्ण से पहले। अनुगामी प्लस इनपुट को बहुत लंबा बना देता है और अस्वीकार कर दिया जाता है। उस बाहरी मार्कर को हटाने से -rw-r----- निकल जाता है, जो 640 में परिवर्तित हो जाता है: स्वामी read/write, समूह पढ़ता है, और अन्य के लिए कोई अनुमति नहीं होती है।

वह रूपांतरण यह डिकोड नहीं करता है कि लेख 501 की चेतावनी से परे प्लस क्या दर्शाता है कि एक लंबी सूची एCAल के लिए इसका उपयोग कर सकती है। कैलकुलेटर में कोई ACL प्रविष्टियाँ या मास्क नहीं है। यह टिकट की मशीन, मालिक, समूह या पथ का भी निरीक्षण नहीं करता है। इसलिए मोड 640 स्वीकृत कोर द्वारा दर्शाया गया आधार अनुमति मान है, प्रभावी पहुंच के बारे में पूर्ण उत्तर नहीं।

पहला वर्ण प्रकार है - डैश, डी, एल, सी, बी, पी और एस, और यह मोड का हिस्सा क्यों नहीं है

वैकल्पिक प्रथम वर्ण को अनुमति बिट के बजाय एक प्रकार मार्कर के रूप में माना जाता है। पार्सर -, डी, एल, बी, सी, पी, एस, डी, और ? को पहचानता है। जब कोई नौ वैध अनुमति पदों से पहले उपस्थित होता है, तो उसे अंकगणित के लिए हटा दिया जाता है। परिणामी स्वामी, समूह और अन्य त्रिक अकेले ही ऑक्टल मान और मैट्रिक्स चयन निर्धारित करते हैं।

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

तीन समूहों में नौ अक्षर - मालिक, समूह, अन्य, हमेशा आरडब्ल्यूएक्स क्रम में, प्रत्येक बंद बिट के लिए एक डैश के साथ

नौ अनुमति स्थितियाँ स्वामी, समूह और अन्य क्रम में तीन निश्चित त्रिगुण बनाती हैं। प्रत्येक ट्रिपल के भीतर, पढ़ना पहले स्थान पर है, दूसरा लिखें, और तीसरा निष्पादित करें। डैश का मतलब है कि संबंधित बिट बंद है। स्थिति-विशिष्ट सत्यापन अनुमान लगाने के बजाय गलत रखे गए अक्षर को अस्वीकार कर देता है, इसलिए लिखने की स्थिति में एक आर चुपचाप दूसरी अनुमति नहीं बन सकता है।

लेख 501 में भार द्वारा प्रत्येक स्वीकृत ट्रिपल मानचित्र को एक अष्टक अंक तक: पढ़ना 4 है, लिखना 2 है, और निष्पादित करना 1 है। मैट्रिक्स चेकबॉक्स के समान झंडे दिखाता है और जब कोई बदलता है तो पूर्णांक को फिर से बनाता है। विशेष पत्र केवल निष्पादित स्थितियों में ही स्वीकार किए जाते हैं, अंतर्निहित निष्पादन स्थिति के साथ सेतुइड, सेटगिड या स्टिकी को संरक्षित करते हुए।

कार्यान्वित उदाहरण: -rwxr-x--- से 750 - प्रत्येक अक्षर को 4, 2, 1 निर्दिष्ट करना और प्रति समूह का योग करना

बदलना -rwxr-x--- अग्रणी प्रकार के मार्कर को अनदेखा करके और शरीर को rwx, r-x, और --- में विभाजित करके। मालिक के पास है 4+2+1, उत्पादन 7. समूह के पास है 4+1, उत्पादन 5. अन्य के पास कोई सक्षम बिट नहीं है, जो उत्पादन कर रहा है 0. कैलकुलेटर वापस आ जाता है 750 और मेल खाने वाले नौ सामान्य अनुमति बक्सों का चयन करता है।

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

अनुगामी प्लस और संकेतों पर - + का अर्थ ACL प्रविष्टियाँ मौजूद हैं, @ का अर्थ macOS पर विस्तारित विशेषताएँ हैं, न ही यह मोड का हिस्सा है

ट्रेलिंग प्लस और एट चिह्न रूपरेखा में मेटाडेटा मार्कर हैं, लेकिन कार्यान्वित तथ्य संकीर्ण है: यह पार्सर या तो अस्वीकार कर देता है क्योंकि स्वीकृत इनपुट अनुमति निकाय के बाद समाप्त हो जाता है। अनुच्छेद 501 विशेष रूप से एCAल के साथ एक अनुगामी प्लस की पहचान करता है। CHMOD_SOURCES एट साइन के लिए कोई समतुल्य व्याख्या प्रदान नहीं करता है, इसलिए यह अनुभाग इसे रिपॉजिटरी द्वारा असमर्थित अर्थ वाला एक ऑपरेटिंग-सिस्टम निर्दिष्ट नहीं करता है।

जब प्रभावी पहुंच मायने रखती है तो बिना सोचे-समझे कोई भी मार्कर न हटाएं। इसके बजाय, बेस-मोड रूपांतरण के लिए स्वीकृत नौ या दस वर्ण कोर को अलग करें और मूल प्रणाली से साक्ष्य के साथ किसी भी शेष की जांच करें। कैलकुलेटर दिखा सकता है कि rw-r----- का अर्थ है 640। यह अतिरिक्त मेटाडेटा की व्याख्या नहीं कर सकता है, विस्तारित विशेषताओं को नहीं पढ़ सकता है, या यह निर्धारित नहीं कर सकता है कि क्या कोई अन्य एक्सेस-कंट्रोल तंत्र उपयोगकर्ता या प्रक्रिया को बदल सकता है।

ट्रेलिंग प्लस और एट साइन मेटाडेटा मार्कर हैं जिन्हें यह पार्सर अस्वीकार करता है

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

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

बाहरी स्टेट कमांड ब्राउज़र कैलकुलेटर द्वारा नहीं चलाए जाते हैं

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

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

ACL और विंडोज़ अनुमति डिकोडिंग मार्ग के बाहर रहती है

एक बार स्वीकृत कोर अलग हो जाने पर एलएस-स्टाइल मोड को पढ़ना यांत्रिक हो जाता है। एक मान्यता प्राप्त अग्रणी प्रकार के चरित्र को हटाएं, शेष नौ पदों को मालिक, समूह और अन्य में विभाजित करें, और कुल 4 पढ़ें, 2 लिखें, और प्रत्येक ट्रिपल के भीतर 1 निष्पादित करें। कैलकुलेटर उस रूपांतरण को निष्पादित करता है और कार्यान्वित एस, एस, टी और टी फॉर्म सहित स्थिति-विशिष्ट अक्षरों को मान्य करता है।

निष्कर्ष को इनपुट के समानुपाती रखें। एक सफल रूपांतरण साबित करता है कि स्वीकृत स्ट्रिंग एक ऑक्टल मोड, मैट्रिक्स, सारांश और जेनरेट किए गए असाइनमेंट पर लगातार मैप करती है। यह स्टेट नहीं चलाता है, पथ का निरीक्षण नहीं करता है, किसी अनुवर्ती मार्कर को डीकोड नहीं करता है, स्वामित्व की पहचान नहीं करता है, या chmod लागू नहीं करता है। वे सीमाएँ आउटपुट को उपयोगी बनाती हैं: यह बेस मोड अंकगणित के बारे में सटीक है और उन साक्ष्यों के बारे में चुप है जो उसने कभी एकत्र नहीं किए।