मेरे पास एक बहुत ही महत्वपूर्ण फ़ाइल है जो मेरे कार्यस्थल में एक एप्लिकेशन का उपयोग करता है, मुझे यह सुनिश्चित करने की आवश्यकता है कि जो भी इसे हटा नहीं रहा है, मैं इसे कैसे कर सकता हूं?
मेरे पास एक बहुत ही महत्वपूर्ण फ़ाइल है जो मेरे कार्यस्थल में एक एप्लिकेशन का उपयोग करता है, मुझे यह सुनिश्चित करने की आवश्यकता है कि जो भी इसे हटा नहीं रहा है, मैं इसे कैसे कर सकता हूं?
जवाबों:
हां, आप फ़ाइल की विशेषताओं को केवल पढ़ने के लिए बदल सकते हैं।
आदेश है:
chattr +i filename
और इसे निष्क्रिय करने के लिए:
chattr -i filename
से man chattr
:
i
विशेषता वाली फ़ाइल को संशोधित नहीं किया जा सकता है: इसे हटाया या नाम बदला नहीं जा सकता है, इस फ़ाइल का कोई लिंक नहीं बनाया जा सकता है और फ़ाइल में कोई डेटा नहीं लिखा जा सकता है। केवल सुपरसुसर याCAP_LINUX_IMMUTABLE
क्षमता रखने वाली प्रक्रिया ही इस विशेषता को निर्धारित या साफ़ कर सकती है।
chflags schg
इसे एक सीडी में जला दें। CD को CD-ROM ड्राइव में डालें और वहाँ से पहुँचें।
उदाहरण:
# dd if=/dev/zero of=readonly.img bs=1024 count=1024
# mkfs.ext2 readonly.img
# mkdir readonlyfolder
# mount readonly.img readonlyfolder/
# echo "can't delete this" > readonlyfolder/permanent.txt
# umount readonlyfolder
# mount -o ro readonly.img readonlyfolder
# cat readonlyfolder/permanent.txt
can't delete this
# rm readonlyfolder/permanent.txt
rm: cannot remove `readonlyfolder/permanent.txt': Read-only file system
mount -o remount,rw readonlyfolder/ && rm readonlyfolder/permanent.txt
squashfs
या cramfs
जो संपीड़ित हैं और केवल-पढ़ने के लिए। फाइलसिस्टम के निर्माण के लिए इसे एक विशेष टूल की आवश्यकता होती है।
लिनक्स में तथाकथित बाइंड-माउंट विकल्प है जो जानने के लिए शक्तिशाली और उपयोगी सुविधा है :
% cd $TMP && mkdir usebindmountluke && cd usebindmountluke
% echo usebindmountluke > preciousfile
% sudo mount -B preciousfile preciousfile
% sudo mount -oremount,ro preciousfile
% echo sowhat > preciousfile
zsh: read-only file system: preciousfile
% rm preciousfile
rm: cannot remove ‘preciousfile’: Read-only file system
- यहां जो कुछ किया जा रहा है वह अपने आप में बाइंड-माउंट फाइल है (हां, आप लिनक्स में ऐसा कर सकते हैं), फिर इसे आर / ओ-मोड में फिर से माउंट किया जाता है। बेशक यह निर्देशिका के लिए भी किया जा सकता है।
आपको फ़ाइल में कई हार्ड लिंक भी बनाने चाहिए। ये विभिन्न स्थानों पर होने चाहिए जो नियमित उपयोगकर्ता तक नहीं पहुंच सकते।
इस तरह, भले ही वे आपकी चैट प्रोटेक्शन को ओवरराइड करने का प्रबंधन करते हों, डेटा बना रहेगा और आप आसानी से इसे पुनर्स्थापित कर सकते हैं जहां आपका एप्लिकेशन इसे देख रहा है।
दूसरों ने आपके प्रश्न का उत्तर दिया है जैसा आपने पूछा है। जैसा कि @Sven ने एक टिप्पणी में उल्लेख किया है, इस सवाल का सामान्य समाधान, "मैं कैसे सुनिश्चित करूं कि मैं कभी कोई फाइल नहीं खोता?" फ़ाइल का बैकअप बनाना है। फ़ाइल की एक प्रतिलिपि बनाएँ और इसे कई स्थानों पर संग्रहीत करें। इसके अलावा, यदि फ़ाइल अत्यंत महत्वपूर्ण है और आपकी कंपनी की बैकअप सेवा के साथ महत्वपूर्ण डेटा का बैकअप लेने की नीति है, तो आप इस फ़ाइल को सेवा में शामिल कर सकते हैं।
लिनक्स पर अडिग झंडा केवल फाइल सिस्टम के कुछ प्रकार पर समर्थित है (जैसे देशी लोगों के सबसे ext4
, xfs
, btrfs
...)
फाइलसिस्टम पर जहां यह समर्थित नहीं है, एक अन्य विकल्प केवल-रीड मोड में फ़ाइल को अपने आप से बांधना है। यह दो चरणों में किया जाना है:
mount --bind file file
mount -o remount,bind,ro file
उदाहरण के लिए, हालांकि प्रत्येक बूट पर किया जाना है /etc/fstab
।
umount
फाइल फिर से लिखने की अनुमति प्राप्त
केविन द्वारा जवाब के लिए एक टिप्पणी में , जेरी का उल्लेख है:
खैर, निश्चित रूप से फ़ाइल को नियमित रूप से बैकअप किया जा रहा है, मैं सिर्फ उन उपयोगकर्ताओं के खिलाफ सुरक्षा की एक और परत चाहता था जो कभी-कभी रूट पर अन्य अनुमतियों के साथ बॉक्स पर काम कर रहे हैं। -
मैं यह मानकर चल रहा हूं कि आप इस प्रथा को नहीं बदल सकते, क्योंकि यह वास्तव में बहुत बुरा विचार है।
रीड-ओनली डिवाइस का उपयोग करने के बारे में सभी सुझावों में एक ही समस्या है - यह आपके लिए एक पीटीए बनाता है जब आपको आवश्यकता होती है तो वैध परिवर्तन करने के लिए। लॉक करने योग्य ड्राइव के मामले में, जैसे कि एसडी कार्ड, आप इस समस्या में भाग लेते हैं कि जब आप इसे बदलने के लिए इसे अनलॉक करते हैं तो आप अचानक कमजोर पड़ जाते हैं।
मैं इसके बजाय एनएफएस सर्वर के रूप में एक और मशीन स्थापित करने और मशीन (ओं) को महत्वपूर्ण फाइलों के साथ निर्देशिका साझा करने की सिफारिश करूंगा, जो उपयोगकर्ताओं के पास हैं। माउंट को केवल-पढ़ने के लिए साझा करें, ताकि जिन उपयोगकर्ताओं पर आपको भरोसा न हो उनके साथ मशीनें कोई संशोधन न कर सकें। जब आपको कानूनी रूप से बदलाव करने की आवश्यकता होती है, तो आप एनएफएस सर्वर से जुड़ सकते हैं और वहां हमारे बदलाव कर सकते हैं।
हम अपने वेबसर्वर्स के लिए इसका उपयोग करते हैं, ताकि वेबसर्वर के खिलाफ एक सफल शोषण किसी भी फाइल को डालने या बदलने में सक्षम नहीं होगा जो सर्वर तब वापस सेवा करेगा, या कॉन्फ़िगरेशन को बदल देगा।
ध्यान दें कि यह उसी तरह से बाईपास किया जा सकता है जिस तरह से माउंट-पॉइंट से संबंधित सभी हो सकते हैं:
एक आईएसओ 9660 छवि क्यों नहीं बनाई गई है, जो केवल डिजाइन द्वारा पढ़ी जाती है?
आईएसओ छवि को माउंट करें, और यह सीडी-रॉम की तरह दिखेगा, लेकिन हार्ड ड्राइव के प्रदर्शन के साथ, और माउंटेड छवि पर फाइलें भौतिक सीडी-रॉम पर फ़ाइलों के रूप में डिलीट से सुरक्षित होंगी।
एक सीडी में संवेदनशील फाइल को जलाने और एक सीडी-रॉम से चलाने का विचार दिलचस्प है, यह मानते हुए कि फ़ाइल पर अपरिवर्तनीय बिट की स्थापना पर्याप्त नहीं है।
एक भौतिक सीडी को चलाने के साथ संभावित नकारात्मक मुद्दे हैं, जिसमें प्रदर्शन (सीडी-रोम ड्राइव बहुत अधिक है, हार्ड ड्राइव या एसएसडी की तुलना में बहुत धीमा है)। सीडी-रॉम की संभावना को एक अच्छी तरह से अलग-अलग व्यक्ति द्वारा हटाया जा रहा है और एक अलग डिस्क के साथ प्रतिस्थापित किया गया है जिसकी उन्हें आवश्यकता है। एक दुर्भावनापूर्ण पार्टी की संभावना है कि वह डिस्क को निकाल ले और उसे माइक्रोवेव (या कूड़ेदान) में फेंक दे, इस प्रकार आपकी फ़ाइल को "डिलीट" कर सकता है। वहाँ सिर्फ एक फ़ाइल और अन्य कारकों के लिए एक समर्पित हार्डवेयर CD-ROM ड्राइव होने की असुविधा है।
लेकिन ओपी ने स्पष्ट किया कि प्राथमिक इरादा आकस्मिक विलोपन से बचाव करना है, न कि दुर्भावनापूर्ण कार्यों के खिलाफ, और यह कि प्रश्न में फ़ाइल (एस) का बैकअप है और पुनर्प्राप्त करने योग्य दुर्घटना होनी चाहिए, लेकिन यह अत्यंत वांछनीय है कि फ़ाइल कभी नहीं गलती से नष्ट हो जाना।
ऐसा लगता है कि माउंटेड आईएसओ इमेज से फाइल चलाने से आवश्यकता पूरी होगी।
shred
यह सिर्फ उस बिंदु पर होगा। लेकिन जब तक आप मशीन तक भौतिक पहुंच से इनकार नहीं कर रहे हैं, तब भी ड्राइव के बाहर एक भौतिक सीडी को पॉप करना आसान है और डंपस्टर में टॉस करना है और आईएसओ फाइल को ओवरराइट और ओवरराइट करने की तुलना में आसान है, हालांकि या तो आसान है। और ओपी ने कहा है कि महत्वपूर्ण फ़ाइल को नियमित आधार पर बैकअप किया जाता है, इसलिए यह आकस्मिक क्षति के खिलाफ केवल एक अतिरिक्त उपाय है, न कि दुर्भावनापूर्ण शरारत के खिलाफ।
chattr +i
मदद कर सकता है, लेकिन फ़ाइल केवल पढ़ने के रूप में अच्छी तरह से (और साथ ओवरराइड किया जा सकता कर देगाchattr -i
), यह भी आप SELinux आदि के साथ यह संरक्षित करने के लिए कोशिश कर सकते हैं