हिन्दी

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

चिपचिपा बिट के दो जीवन: स्वैप-निवासी पाठ से /tmp तक

· पेजभूमि

chmod Unix अभिगम नियंत्रण

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

/tmp's मोड में t का मतलब 1970 के दशक के Unix में बिल्कुल अलग था। यह पोस्ट प्रदर्शन संकेत से लेकर विलोपन नियम तक की जटिल बातों का अनुसरण करती है और बताती है कि यह आज क्या करती है।

/tmp पर drwxrwxrwt - अंतिम अक्षर r, w या x नहीं है, और सामान्य एक-शब्द स्पष्टीकरण कुछ भी नहीं बताता है

स्ट्रिंग drwxrwxrwt दिखाती है कि सामान्य rwx अंकगणित पूरी कहानी क्यों नहीं है। स्टिकी 1000 bit है, जिसे अंतिम निष्पादन स्थिति में प्रस्तुत किया गया है। अन्य-निष्पादित वर्तमान के साथ, वर्ण लोअरकेस t है; इसके बिना, अपरकेस T प्रकट होता है। इसलिए 1777 दर्ज करने से rwxrwxrwt उत्पन्न होता है, जबकि चार अंकों का सारांश प्रमुख विशेष-बिट अंक को संरक्षित करता है।

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

मूल अर्थ - प्रोग्राम के टेक्स्ट सेगमेंट को बाहर निकलने के बाद स्वैप में रखें ताकि अगला रन धीमी डिस्क पर तेजी से शुरू हो

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

कैलकुलेटर यह स्थापित करता है कि बिट का प्रतिनिधित्व कैसे किया जाता है। स्टिकी ऑक्टल 1000 पर कब्जा कर लेता है और प्रतीकात्मक संकेतन में अन्य-निष्पादित स्थिति साझा करता है। इस प्रकार 1777 t में समाप्त होता है क्योंकि एक्ज़ीक्यूट सेट है, जबकि 1644 T में समाप्त होता है क्योंकि यह अनुपस्थित है। बिट मास्क, पार्सर, रेंडरर और राउंड-ट्रिप परीक्षण उन तथ्यों का समर्थन करते हैं, कर्नेल व्यवहार के कालक्रम का नहीं।

स्रोत एक पूर्व फ़ाइल संकेत का वर्णन करता है लेकिन कोई प्राथमिक इतिहास उद्धरण प्रदान नहीं करता है

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

जहां प्रवर्तन का दावा नहीं किया गया है वहां भी प्रतिनिधित्व सटीक रहता है। अन्य-निष्पादित सेट के साथ, अंतिम वर्ण t है; इसके बिना, वह वर्ण T है। पार्सर किसी भी रूप को चिपचिपे बिट में पुनर्स्थापित करता है, और परीक्षण 1777, 1644 और 7777 के माध्यम से प्रत्येक मोड को कवर करता है। कोई भी प्रोग्राम लॉन्च नहीं करता है, फ़ाइल सिस्टम को माउंट नहीं करता है, या वास्तविक व्यवहार के लिए कर्नेल से पूछताछ नहीं करता है।

नियमित-फ़ाइल स्पष्टीकरण कहता है कि आधुनिक कर्नेल चिपचिपे को अनदेखा करते हैं; कोई सार्वभौमिक दावा नहीं किया गया है

निर्देशिका व्यवहार आधुनिक उपयोग है जिसे कार्यान्वयन सीधे समझाता है। साझा निर्देशिका पर, स्टिकी विलोपन और नाम बदलने पर प्रतिबंध जोड़ता है: लोग प्रविष्टियाँ बना सकते हैं, लेकिन निष्कासन प्रविष्टि के स्वामी या रूट तक सीमित है। प्रीसेट 1777 को /tmp पैटर्न के रूप में कैप्चर करते हैं, जबकि स्पष्टीकरण तब चेतावनी देता है जब कोई निर्देशिका बिना चिपचिपाहट के सभी के द्वारा लिखने योग्य होती है।

डिस्प्ले /tmp. मोड 777 और 1777 का निरीक्षण करने का दावा किए बिना उस अंतर को उजागर करता है और सामान्य अनुमतियाँ rwxrwxrwx साझा करता है। 1000 जोड़ने से अंतिम प्रतीकात्मक x से t बदल जाता है और उत्पन्न असाइनमेंट में +t जुड़ जाता है। स्वामी, समूह और अन्य अनुदान अन्यथा अपरिवर्तित रहेंगे; वास्तविक स्वामित्व, एCAल और फ़ाइल सिस्टम नियम गणना से बाहर रहते हैं।

निर्देशिका चिपचिपा व्यवहार आज लागू की गई व्याख्या है

निर्देशिका वाक्य एक सीमित नियम बताता है: स्टिकी सेट के साथ, केवल फ़ाइल का स्वामी या रूट ही उसे हटा सकता है या उसका नाम बदल सकता है। टूल पहचान का समाधान नहीं करता है, निर्देशिका स्वामित्व का निरीक्षण नहीं करता है, या किसी ऑपरेशन का प्रयास नहीं करता है। प्रदर्शित 1777 यूनिवर्सल आरडब्ल्यूएक्स बिट्स प्लस स्टिकी की पुष्टि करता है, लेकिन यह पहचान नहीं सकता कि वास्तविक विवाद में शामिल प्रविष्टि का मालिक कौन है।

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

टूल पॉलिCAक्सटेंशन का निरीक्षण किए बिना स्वामी या रूट विलोपन सीमा का वर्णन करता है

निर्देशिका मोड के रूप में 1777 और 777 की तुलना करें। मोड 777 drwxrwxrwx प्रस्तुत करता है और प्रत्येक वर्ग को सूचीबद्ध करने, बनाने, दर्ज करने, नाम बदलने और हटाने की अनुमति देता है। टूल चेतावनी देता है कि उपयोगकर्ता उन प्रविष्टियों को हटा सकते हैं जो उनके पास नहीं हैं। स्टिकी को सक्षम करने से drwxrwxrwt उत्पन्न होता है: rwx अनुदान स्थिर रहता है, जबकि स्वामी-या-रूट विलोपन प्रतिबंध स्पष्टीकरण में प्रवेश करता है।

जेनरेट किए गए असाइनमेंट समान एक-बिट अंतर दिखाते हैं। मोड 777 u=rwx,g=rwx,o=rwx हो जाता है, जबकि 1777 +t जोड़ता है; ऑक्टल पूर्वावलोकन भी अग्रणी अंक बरकरार रखता है। न तो पूर्वावलोकन पथ खोलता है और न ही chmod निष्पादित करता है। तुलना साबित करती है कि केवल 1000 बदला है और इसके टी फॉर्म की व्याख्या करता है, लेकिन स्वामित्व और प्रवर्तन के लिए अभी भी बाहरी निरीक्षण की आवश्यकता है।

व्यावहारिक उदाहरण: कैलकुलेटर में 1777 और 777 स्पष्टीकरणों की तुलना करें

सेटगिड इतिहास इन सामग्रियों द्वारा समर्थित नहीं है। रिपॉजिटरी सेटगिड को 2000 के रूप में एन्कोड कर सकता है, समूह-निष्पादित स्थिति में s या S प्रस्तुत कर सकता है, और निर्देशिका समूह वंशानुक्रम की व्याख्या कर सकता है। वे कार्यान्वयन विवरण सेटगिड की उत्पत्ति का दस्तावेजीकरण नहीं करते हैं या इसके विकास को स्टिकी से नहीं जोड़ते हैं। एक विशेष बिट के लिए अंकगणित दूसरे के बारे में ऐतिहासिक साक्ष्य नहीं है।

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

सेटगिड इतिहास और संरक्षित-निर्देशिका नीति स्रोत सेट के बाहर रहती है

व्यावहारिक भेद एक वर्ण में फिट बैठता है। निर्देशिकाओं के लिए, t अन्य-निष्पादन के साथ स्टिकी रिकॉर्ड करता है, जबकि T उस निष्पादन बिट के बिना स्टिकी रिकॉर्ड करता है। कैलकुलेटर दोनों रूपों को सुरक्षित रखता है और अपने सारांश में 1000 को दृश्यमान रखता है। इसके स्रोत में एक पूर्व नियमित-फ़ाइल संकेत का भी उल्लेख है, लेकिन सार्वभौमिक ऐतिहासिक कालक्रम का समर्थन करने के लिए बहुत कम प्राथमिक साक्ष्य प्रदान करता है।

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