डेवलपर टूल · chmod कैलकुलेटर
आपके ब्राउज़र में बिना किसी नेटवर्क कॉल के chmod कैलकुलेटर क्यों चलना चाहिए?
· यह क्यों मायने रखती है
chmod Unix अभिगम नियंत्रण
अनुमति मोड कोई रहस्य नहीं है, लेकिन सर्वर आउटपुट को फॉर्म में चिपकाने की आदत एक जोखिम है। यह पोस्ट बताती है कि एक इन-ब्राउज़र कैलकुलेटर क्या करता है और इसकी आवश्यकता नहीं है, और इसे कैसे सत्यापित किया जाए, कुछ भी नहीं भेजता है।
आपने अभी-अभी एक वेबसाइट में एक ls -l पंक्ति चिपकाई है - इस पर पथ, उपयोगकर्ता नाम और समूह नाम आपके सर्वर का आपकी अपेक्षा से अधिक वर्णन करते हैं
यदि रूपांतरण कार्य है, तो संपूर्ण सर्वर सूची के बजाय एक मोड चिपकाएँ। 2750 जैसे मान में कैलकुलेटर के लिए आवश्यक अंकगणित शामिल होता है, जबकि कॉपी की गई पंक्ति में पथ, स्वामी, समूह, टाइमस्टैम्प या अन्य असंबंधित संदर्भ भी हो सकता है। इंटरफ़ेस ऑक्टल या प्रतीकात्मक अनुमति पाठ को स्वीकार करता है और उन अतिरिक्त फ़ील्ड की आवश्यकता नहीं है।
यह दायरे के आधार पर डेटा न्यूनतमकरण है, यह कोई वादा नहीं है कि प्रत्येक पेज इंटरैक्शन निजी है। कैलकुलेटर कोड ब्राउज़र-साइड JavaScript में पार्सिंग, बिट रूपांतरण, रेंडरिंग और कमांड निर्माण करता है। वह स्रोत साक्ष्य केवल रूपांतरण पथ का वर्णन करता है। यह स्थापित नहीं करता है कि एक तैनात पेज में कौन से असंबंधित अनुरोध, विश्लेषण, या अवधारण व्यवहार हो सकते हैं।
केवल एक मोड चिपकाएँ जब आपको केवल रूपांतरण की आवश्यकता हो
कोर ऑपरेशन के लिए अधिकतम बारह बिट्स का प्रतिनिधित्व करने वाले एक पूर्णांक की आवश्यकता होती है। नौ बिट्स स्वामी, समूह और अन्य के लिए पढ़ने, लिखने और निष्पादित करने का वर्णन करते हैं; तीन और सेतुइड, सेटगिड और स्टिकी का प्रतिनिधित्व करते हैं। उस मान से, सामान्य JavaScript फ़ंक्शंस अंकगणितीय फ़ंक्शंस से मोड पेलोड भेजे बिना ऑक्टल, प्रतीकात्मक, सादा-अंग्रेजी, चेकबॉक्स, सारांश और कमांड-पूर्वावलोकन दृश्य बनाते हैं।
प्रत्येक दृश्य समान मान से प्राप्त होता है, जो क्रॉस-चेकिंग को व्यावहारिक बनाता है। 2750 के लिए, अग्रणी 2 सेटगिड सेट करता है, जबकि 750 मालिक को rwx, समूह r-x और अन्य कोई अनुमति नहीं देता है। प्रतीकात्मक परिणाम rwxr-s है --- क्योंकि समूह निष्पादन मौजूद है; असाइनमेंट पूर्वावलोकन स्पष्ट खंडों के साथ समान मान का प्रतिनिधित्व करता है।
दावे को सत्यापित करना - ब्राउज़र का नेटवर्क पैनल खोलना, टूल का उपयोग करना, और यह देखना कि पेज छोड़ने का कोई अनुरोध नहीं है
स्रोत निरीक्षण किसी तैनात दस्तावेज़ के संपूर्ण नेटवर्क व्यवहार को साबित नहीं कर सकता। उस पेज का मूल्यांकन करने के लिए, ब्राउज़र डेवलपर टूल खोलें, नेटवर्क पैनल का चयन करें, रूट लोड करें, यदि आवश्यक हो तो पिछली प्रविष्टियाँ साफ़ करें और रूपांतरण करें। केवल अंकगणितीय मॉड्यूल से मौन का अनुमान लगाने के बजाय उस सत्र के दौरान वास्तव में होने वाले अनुरोधों पर गौर करें।
अवलोकन की सटीक व्याख्या करें. परीक्षण किए गए इंटरैक्शन के दौरान एक खाली अनुरोध सूची उस रन के बारे में एक संकीर्ण कथन का समर्थन करती है; दृश्यमान संपत्ति या विश्लेषण ट्रैफ़िक को उसी रूप में रिपोर्ट किया जाना चाहिए। कोई भी परिणाम कैलकुलेटर के अंकगणित को नहीं बदलता है। महत्वपूर्ण अंतर सत्यापित परिनियोजित-पेज व्यवहार और स्रोत-समर्थित तथ्य के बीच है कि मोड रूपांतरण में कोई पेलोड-अनुरोध ऑपरेशन नहीं होता है।
अंकगणित से नेटवर्क मौन का अनुमान लगाने के बजाय परिनियोजित-पेज अनुरोधों को सत्यापित करें
कैलकुलेटर स्रोत सेट में खाता निर्माण, सहेजा गया इतिहास और विलोपन या अवधारण नीतियों का प्रतिनिधित्व नहीं किया जाता है। मोड फ़ंक्शंस मान स्वीकार करते हैं और व्युत्पन्न पाठ लौटाते हैं; वे किसी व्यापक साइट की पहचान प्रणाली या भंडारण प्रथाओं के बारे में साक्ष्य प्रदान नहीं करते हैं। इस टूल में खाता फ़ील्ड की अनुपस्थिति को पूर्णतः भंडारण न होने के दावे में बदलने से बचें।
यही प्रतिबंध ब्राउज़र स्थिति और तृतीय-पक्ष कोड पर भी लागू होता है। एक स्रोत-बद्ध समीक्षा यह कह सकती है कि रूपांतरण मॉड्यूल निर्भरता-मुक्त अंकगणित है और प्रदर्शित आदेश कभी भी वहां निष्पादित नहीं होता है। कुकीज़, एनालिटिक्स रिकॉर्ड, लॉग या भविष्य की यात्राओं के बारे में दावों के लिए तैनात एप्लिकेशन और उसके सहायक सिस्टम से अलग साक्ष्य की आवश्यकता होती है।
खाता और प्रतिधारण दावे कैलकुलेटर स्रोत सेट के बाहर हैं
ठोस जाँच के लिए, 2750 दर्ज करें जबकि तैनात पेज का नेटवर्क पैनल खुला है। अपेक्षित अंकगणित सीधा है: सेटगिड 2000 योगदान देता है, स्वामी 7 rwx योगदान देता है, समूह 5 r-x योगदान देता है, और अन्य 0 योगदान देता है ---। प्रतीकात्मक प्रदर्शन rwxr-s--- होना चाहिए, लोअर-केस s के साथ यह पुष्टि करना कि समूह निष्पादन भी सक्षम है।
ऑक्टल फ़ील्ड, प्रतीकात्मक पंक्ति, विशेष-बिट नियंत्रण और असाइनमेंट पूर्वावलोकन की तुलना करें। यदि वे सहमत हैं, तो रूपांतरण आंतरिक रूप से सुसंगत है। फिर इंटरेक्शन के दौरान रिकॉर्ड की गई नेटवर्क प्रविष्टियों की जांच करें और केवल वही बताएं जो वे दिखाते हैं। परीक्षण न तो फ़ाइल सिस्टम पथ खोलता है और न ही देखे गए सत्र के बाहर होने वाले अनुरोधों के बारे में कुछ भी साबित करता है।
कार्यान्वित उदाहरण: तैनात पेज का अवलोकन करते हुए 2750 को रूपांतरित करें
कैलकुलेटर किसी वास्तविक फ़ाइल का निरीक्षण नहीं कर सकता, उसके स्वामी या समूह को नहीं पढ़ सकता, ACL का मूल्यांकन नहीं कर सकता, या chmod नहीं चला सकता। इसका पथ फ़ील्ड कमांड पूर्वावलोकन परोसता है, जहां उद्धरण प्रदर्शित पाठ में रिक्त स्थान और शेल मेटाकैरेक्टर की सुरक्षा करता है। पुनरावर्ती मोड का चयन करने से एक दृश्यमान -R ध्वज जुड़ जाता है; यह किसी निर्देशिका को पार नहीं करता है या किसी ऑब्जेक्ट को परिवर्तित नहीं करता है।
डिस्प्ले नोटेशन को कमांड नोटेशन से अलग रखें। नौ-अक्षर वाला फॉर्म जैसे कि rwxr-s--- पदों का वर्णन करता है, जबकि उत्पन्न प्रतीकात्मक तर्क u=, g=, और o= असाइनमेंट के साथ-साथ एक अलग g+s क्लॉज का उपयोग करता है। दोनों को स्थानीय रूप से एक मोड से प्राप्त किया गया है, फिर भी कोई भी यह स्थापित नहीं करता है कि कमांड को लागू करना वास्तविक लक्ष्य के लिए सही होगा।
टेकवे: कम-संवेदनशीलता इनपुट अभी भी एक नो-अपलोड टूल का हकदार है - ToolAcre का Chmod कैलकुलेटर पूरी तरह से आपके डिवाइस पर परिवर्तित होता है
स्थानीय अंकगणित एक उपयोगी डिज़ाइन गुण है क्योंकि इनपुट परिवर्तित होने वाले मूल्य तक सीमित रह सकता है। यह सार्वभौमिक गोपनीयता की गारंटी नहीं है. जब नेटवर्क व्यवहार मायने रखता है तो तैनात मार्ग को सत्यापित करें, और जब मोड अकेले प्रश्न का उत्तर देता है तो पथ, खाता नाम या पूर्ण सूची चिपकाने से बचें।
बचाव योग्य निष्कर्ष जानबूझकर छोटा है: रिपोजिटरी फ़ंक्शंस पेलोड-अनुरोध चरण के बिना ब्राउज़र में मोड नोटेशन को परिवर्तित करते हैं, और एक लाइव नेटवर्क-पैनल अवलोकन एक तैनात इंटरैक्शन का वर्णन कर सकता है। स्वामित्व, भंडारण, विश्लेषण, एCAल और प्राधिकरण अलग-अलग जांच हैं। सटीक सीमाएँ गोपनीयता कथन को किसी असमर्थित वादे से अधिक मजबूत बनाती हैं।