हिन्दी

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

-perm के साथ विश्व-लेखन योग्य फ़ाइलें और सेतुइड बाइनरी ढूँढना

· यह क्यों मायने रखती है

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

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

दो अनुमति पैटर्न कई वास्तविक घटनाओं का कारण बनते हैं: फ़ाइलें जिन्हें कोई भी बदल सकता है और प्रोग्राम जो रूट के रूप में चलते हैं। यह पोस्ट दिखाती है कि -perm को खोजने के साथ दोनों को कैसे ढूंढें और उनके बारे में क्या करें।

समीक्षक एक ऐसी सूची मांगता है जो आपके पास नहीं है - कौन सी फ़ाइलें कोई भी उपयोगकर्ता संशोधित कर सकता है, और कौन से प्रोग्राम चलने पर विशेषाधिकार बढ़ाते हैं

अनुमति की समीक्षा अक्सर पहले से कहीं और एकत्र किए गए मोड से शुरू होती है: शायद 0002, 4000, 2000, या पूर्ण मान जैसे 4755। कैलकुलेटर उन नंबरों को मालिक, समूह और तीन विशेष बिट्स सहित अन्य अनुमतियों में डिकोड कर सकता है। यह निर्देशिकाओं की खोज नहीं करता, बायनेरिज़ का निरीक्षण नहीं करता, या पथों की सूची तैयार नहीं करता।

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

विश्व-लेखन योग्य का अर्थ है कि अन्य वर्ग के पास w - ऑक्टल पैटर्न 0002 है और क्यों -perm -0002 इसे अन्य बिट्स की परवाह किए बिना पाता है

मान 0002 अन्य-लिखित बिट को अलग करता है। सामान्य तीन-वर्ग लेआउट में, अंतिम अंक मालिक और समूह वर्गों के बाहर सभी का होता है, और इसके लेखन घटक का वजन 2 होता है। इसलिए उस बिट वाला एक पूर्ण मोड अन्य वर्ग में w दिखाएगा, हालांकि कैलकुलेटर ऐसे मोड का पता नहीं लगाता है।

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

0002 अन्य-लिखित बिट को उजागर करता है; मिलान वाले शब्दार्थ बाहरी हैं

अग्रणी विशेष-बिट अंक setuid के लिए 4 और setgid के लिए 2 का उपयोग करता है। इस प्रकार 4755 setuid को सामान्य 755 अनुमतियों के साथ जोड़ता है, जबकि 2755 setgid को समान अनुगामी बिट्स के साथ जोड़ता है। कैलकुलेटर उन मुखौटों को अलग से उजागर करता है और पूर्ण मोड प्रस्तुत करते समय उनके प्रतीकात्मक अक्षरों को मालिक या समूह निष्पादन स्थिति में रखता है।

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

4000 और 2000 बायनेरिज़ का ऑडिट किए बिना सेटुइड और सेटगिड के रूप में डिकोड करते हैं

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

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

सटीक, ऑल-बिट और किसी भी-बिट फाइंड मोड के लिए फाइंड डॉक्यूमेंटेशन की आवश्यकता होती है

मान लीजिए कि कहीं और किया गया ऑडिट 0666 और 4755 रिपोर्ट करता है। 0666 दर्ज करने से rw-rw-rw- प्राप्त होता है, जिससे अंतिम ट्रिपल में अन्य-लेखन दृश्यमान हो जाता है। 4755 दर्ज करने से rwsr-xr-x प्राप्त होता है: स्वामी ने पढ़ा, लिखा और निष्पादित किया है, और setuid स्वामी के निष्पादन वर्ण को लोअर-केस s से बदल देता है क्योंकि वह निष्पादन बिट मौजूद है।

4644 जैसी दूसरी हिट दर्शाती है कि प्रतीकात्मक रूप क्यों मायने रखता है। यह rwSr--r-- प्रस्तुत करता है, जिसमें कैपिटल S सेतुइड दिखाता है जबकि मालिक का निष्पादन अनुपस्थित है। कैलकुलेटर उस असंगतता को स्पष्ट बना सकता है। यह अभी भी पथ की पहचान नहीं कर सकता है, यह स्थापित नहीं कर सकता है कि इसका मालिक कौन है, इसकी सामग्री का निरीक्षण नहीं कर सकता है, या बिट को हटाने की अनुशंसा नहीं कर सकता है।

कार्यान्वित उदाहरण: पथों को स्कैन किए बिना आपूर्ति किए गए ऑडिट हिट को डिकोड करना

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

रिपोर्ट किए गए मोड को बदलने से पहले, वर्तमान और प्रस्तावित मानों की एक बार में एक बिट तुलना करें। 0666 से अन्य-लेखन को हटाने से 0664 उत्पन्न होता है; 4755 से setuid हटाने से 0755 उत्पन्न होता है। वे अंकगणितीय तथ्य प्रतिलिपि प्रस्तुत करने योग्य हैं, लेकिन क्या कोई भी परिवर्तन कार्यभार को बरकरार रखता है, इसके लिए कैलकुलेटर से परे और लेख 501 के साधारण-बिट वॉकथ्रू से परे स्थानीय साक्ष्य की आवश्यकता होती है।

अपवादों और निवारण के लिए स्थानीय स्वामित्व और कार्यभार साक्ष्य की आवश्यकता होती है

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

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

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

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

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