फ़ाइल कैसे बनाएं रूट उपयोगकर्ता भी इसे हटा नहीं सकता है?
फ़ाइल कैसे बनाएं रूट उपयोगकर्ता भी इसे हटा नहीं सकता है?
जवाबों:
सरल उत्तर: आप नहीं कर सकते, जड़ सब कुछ कर सकता है।
आप चैट के साथ "i" विशेषता सेट कर सकते हैं (कम से कम यदि आप ext {2,3,4} पर हैं) जो फ़ाइल को अपरिवर्तनीय बनाता है, लेकिन रूट केवल विशेषता को अनसेट कर सकता है और फ़ाइल को वैसे भी हटा सकता है।
अधिक जटिल (और बदसूरत हैकिश वर्कअराउंड): उस निर्देशिका को रखें जिसे आप रिमोट सर्वर पर रूट के लिए अपरिवर्तनीय चाहते हैं और इसे एनएफएस या एसएमबी के माध्यम से माउंट करें। यदि सर्वर लिखने की अनुमति नहीं देता है जो स्थानीय रूट खाते को लॉक करता है। बेशक स्थानीय रूट खाता स्थानीय रूप से फाइलों को कॉपी कर सकता है, रिमोट सामान को अनमाउंट कर सकता है, कॉपी को रख सकता है और इसे बदल सकता है।
आप अपनी फ़ाइलों को हटाने से रूट को लॉक नहीं कर सकते। यदि आप फ़ाइलों को अक्षुण्ण रखने के लिए अपनी जड़ पर भरोसा नहीं कर सकते हैं, तो आपको एक सामाजिक समस्या हो रही है, तकनीकी नहीं।
mv
?" (जो ईसाई धर्मशास्त्र पर आधारित एक लंगड़ा मजाक है, और यदि आप क्षेत्र से परिचित नहीं हैं तो एक भयानक मजाक है)
इसे सीडी-रोम पर रखो! ;)
(यह एक टिप्पणी होनी चाहिए लेकिन मैं टिप्पणी नहीं कर सकता ...)
बहुत पहले मैंने कर्नेल पैच (2.2.ancient) लिखा था, जहाँ SELFDESTRUCT नामक फ़ाइल को हटाने की कोशिश ने कॉलिंग प्रक्रिया को मार दिया। यह आकस्मिक "rm -rf *" के खिलाफ पहरा देता है।
आप chattr +i
किसी फ़ाइल को अपरिवर्तनीय बनाने के लिए उपयोग कर सकते हैं ।
बेशक रूट एक्सेस के साथ एक समझदार उपयोगकर्ता अभी भी chattr -i
अपरिवर्तनीय विशेषता को हटाने और फिर फ़ाइल को हटाने के लिए उपयोग कर सकता है, लेकिन वे यहां सूचीबद्ध के अलावा अन्य किसी भी प्रयास को एक्सेस ब्लॉक करने के लिए पूर्ववत कर सकते हैं।
मैं यह तर्क दूंगा कि ऐसा करने के लिए chattr सही यूनिक्स तरीका है।