हिन्दी

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

POSIX ACLs बनाम chmod मोड बिट्स: जब rwx पर्याप्त नहीं है

· पेजभूमि

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

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

मोड बिट्स एक मालिक, एक समूह और बाकी सभी को कवर करते हैं। यह पोस्ट POSIX.1e ACL मॉडल की व्याख्या करती है जो अंतर को भरता है, यह chmod के साथ कैसे इंटरैक्ट करता है, और जब एक साझा समूह अभी भी सरल उत्तर है।

मॉडल की अनुमति से एक अधिक पाठक - एक फ़ाइल ऐप समूह से संबंधित है, और समूह के बाहर के एक ऑडिटर को इसे पढ़ने की आवश्यकता है

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

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

तीन वर्गों की सीमा - क्यों पारंपरिक मॉडल में मालिक, समूह और अन्य लोगों के लिए बिल्कुल एक स्लॉट होता है

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

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

POSIX.1e ACLs - नामित उपयोगकर्ता और नामित समूह प्रविष्टियाँ एक ही फ़ाइल में जोड़ी गईं, setfacl के साथ सेट करें और getfacl के साथ पढ़ें

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

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

नामित ACL प्रविष्टियों के लिए बाहरी टूलों की आवश्यकता होती है जो यहां लागू नहीं हैं

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

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

ACL chmod के साथ मास्क इंटरैक्शन के लिए फ़ाइल सिस्टम दस्तावेज़ीकरण की आवश्यकता होती है

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

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

डिफ़ॉल्ट ACL इनहेरिटेंस और umask इंटरेक्शन इस रूट से बाहर हैं

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

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

कार्यान्वित उदाहरण: आधार मोड को पठनीय रखें जबकि ACL कार्य कहीं और होता है

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

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

अन्य ACL मॉडल और माउंट समर्थन का अनुमान नहीं लगाया गया है

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

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