परिचय
Linux में, कुछ फ़ाइल और निर्देशिका विशेषताओं को केवल विशिष्ट कमांड का उपयोग करके ही एक्सेस या संशोधित किया जा सकता है। ये विशेषताएँ आपको फ़ाइल संचालन को प्रतिबंधित करने देती हैं, जैसे रूट उपयोगकर्ता द्वारा भी हटाने या संशोधन को रोकना। यह कार्यक्षमता महत्वपूर्ण फ़ाइलों और निर्देशिकाओं को सुरक्षित करने के लिए विशेष रूप से सहायक है।
इस मार्गदर्शिका में, हम दो आवश्यक कमांड को कवर करेंगे:
chattr: फ़ाइल विशेषताएँ सेट या अनसेट करने के लिए उपयोग किया जाता है।lsattr: फ़ाइल विशेषताएँ देखने के लिए उपयोग किया जाता है।
इन कमांड का आमतौर पर उपयोग किया जाता है ext2, ext3 और ext4 फ़ाइल सिस्टम पर, और वे सिस्टम प्रशासकों के लिए महत्वपूर्ण उपकरण हैं।
“ chattr ” कमांड क्या है?
“ chattr ” कमांड आपको Linux फ़ाइल सिस्टम पर फ़ाइल विशेषताएँ बदलने देता है। यह विशिष्ट विशेषताएँ जोड़ने, हटाने या सेट करने के लिए प्रतीकात्मक मोड का उपयोग करता है। ये विशेषताएँ नियंत्रित कर सकती हैं कि फ़ाइलें कैसे व्यवहार करती हैं, जैसे उन्हें अपरिवर्तनीय या केवल-जोड़ने योग्य बनाना।
“ chattr” की प्रमुख विशेषताएँ:
- फ़ाइलों को आकस्मिक हटाने या संशोधन से सुरक्षित रखें।
- रूट उपयोगकर्ताओं के लिए भी फ़ाइल संचालन प्रतिबंधित करें।
- उन्नत फ़ाइल प्रबंधन और सुरक्षा सक्षम करें।
आधिकारिक दस्तावेज़: chattr
अधिक विवरण के लिए, आधिकारिक देखें chattr दस्तावेज़:
Linux Man Pages – chattr
“ lsattr ” कमांड क्या है?
“ lsattr ” कमांड ext2, ext3 या ext4 फ़ाइल सिस्टम पर फ़ाइलों और निर्देशिकाओं की विशेषताओं को सूचीबद्ध करता है। जब आपको फ़ाइल एक्सेस समस्याओं का सामना करना पड़ता है, तो समस्या निवारण के लिए यह विशेष रूप से उपयोगी है।
“ lsattr” की प्रमुख विशेषताएँ:
- फ़ाइल विशेषताओं को आसानी से पढ़ने योग्य प्रारूप में देखें।
- फ़ाइल विशेषताओं के कारण होने वाली एक्सेस और संशोधन समस्याओं का निवारण करें।
आधिकारिक दस्तावेज़: lsattr
अधिक विवरण के लिए, आधिकारिक देखें lsattr दस्तावेज़:
Linux Man Pages – lsattr
कमांड का सिंटैक्स
chattr कमांड सिंटैक्स
chattr [ -RVf ] [ -v version ] [ -p project ] [ + | - | = [attributes] ] files...
स्पष्टीकरण:
-R: निर्देशिकाओं और उनकी सामग्री की विशेषताओं को पुनरावर्ती रूप से बदलें।-V: वर्बोज़ आउटपुट और प्रोग्राम संस्करण प्रदर्शित करें।-f: अधिकांश त्रुटि संदेशों को दबाएँ।-v version: फ़ाइल का संस्करण/पीढ़ी संख्या सेट करें।-p project: फ़ाइल का प्रोजेक्ट नंबर सेट करें।+: निर्दिष्ट विशेषताएँ जोड़ें।-: निर्दिष्ट विशेषताएँ हटाएँ।=: विशेषताओं को ठीक उसी तरह सेट करें जैसा निर्दिष्ट है।attributes: विशेषता फ़्लैग का संयोजन (जैसे,i,aआदि)।files...: लक्षित फ़ाइलें या निर्देशिकाएँ।
उदाहरण:
- अपरिवर्तनीय विशेषता जोड़ें:
chattr +i filename - केवल-जोड़ने योग्य विशेषता हटाएँ:
chattr -a filename - विशेषताओं को ठीक उसी तरह सेट करें (जैसे, अपरिवर्तनीय और केवल-जोड़ने योग्य):
chattr =ia filename
lsattr कमांड सिंटैक्स
lsattr [ -RVadlpv ] [ files... ]
स्पष्टीकरण:
-R: निर्देशिकाओं और उनकी सामग्री की विशेषताओं को पुनरावर्ती रूप से सूचीबद्ध करें।-V: प्रोग्राम संस्करण प्रदर्शित करें।-a: छिपी हुई फ़ाइलों सहित सभी फ़ाइलों को सूचीबद्ध करें (जो इससे शुरू होती हैं.).-d: निर्देशिकाओं को उनकी सामग्री सूचीबद्ध करने के बजाय नियमित फ़ाइलों की तरह सूचीबद्ध करें।-l: एकल-अक्षर संक्षिप्ताक्षरों के बजाय लंबे नामों का उपयोग करके विकल्प प्रिंट करें।-p: फ़ाइल का प्रोजेक्ट नंबर सूचीबद्ध करें।-v: फ़ाइल का संस्करण/पीढ़ी संख्या सूचीबद्ध करें।files...: लक्षित फ़ाइलें या निर्देशिकाएँ।
उदाहरण:
- फ़ाइल की विशेषताएँ प्रदर्शित करें:
lsattr filename - निर्देशिका में सभी फ़ाइलों की विशेषताएँ प्रदर्शित करें:
lsattr /path/to/directory
सामान्य फ़ाइल विशेषताएँ और उनके फ़्लैग
नीचे दी गई तालिका सबसे सामान्य फ़ाइल विशेषताओं और उनके अर्थों का सारांश देती है:
| विशेषता | फ़्लैग | विवरण |
|---|---|---|
| केवल-जोड़ने योग्य | a | फ़ाइल को लिखने के लिए केवल जोड़ने मोड में खोला जा सकता है। |
| अपरिवर्तनीय | i | फ़ाइल को संशोधित, हटाया या नाम बदला नहीं जा सकता। |
| कोई atime नहीं | A | फ़ाइल एक्सेस समय (atime डिस्क I/O कम करने के लिए अपडेट नहीं किया जाता। |
| कोई डंप नहीं | d | फ़ाइल को इसका उपयोग करके बैकअप से बाहर रखा गया है dump प्रोग्राम। |
| डेटा जर्नलिंग | j | फ़ाइल डेटा को फ़ाइल में ही लिखे जाने से पहले जर्नल में लिखा जाता है। |
| समकालिक अपडेट | S | फ़ाइल के अपडेट डिस्क पर समकालिक रूप से लिखे जाते हैं। |
| अहटाने योग्य | u | जब फ़ाइल हटाई जाती है, तो उसका डेटा संभावित पुनर्प्राप्ति के लिए सहेजा जाता है। |
विशेषताओं की पूरी सूची के लिए, देखें chattr मैन पेज:
Linux Man Pages – chattr
समस्या निवारण: chattr और lsattr
समस्या: फ़ाइल को संशोधित या हटाने में असमर्थ
यदि आपको इस तरह की त्रुटि मिलती है:
E212: Can't open file for writing
इन चरणों का पालन करें:
- फ़ाइल अनुमतियाँ जाँचें
इसका उपयोग करके फ़ाइल की अनुमतियाँ सत्यापित करें:ls -l filename - फ़ाइल विशेषताएँ जाँचें
उपयोग करेंlsattrकमांड यह जाँचने के लिए कि क्या कोई विशेषताएँ हैं जो संशोधन को प्रतिबंधित कर सकती हैं:lsattr filename - प्रतिबंधात्मक विशेषताएँ हटाएँ
यदि फ़ाइल में हैi(अपरिवर्तनीय) याa(केवल-जोड़ने योग्य) विशेषता, तो इसका उपयोग करके इसे हटा देंchattrकमांड:chattr -i filename chattr -a filename - परिवर्तन सत्यापित करें
पुनः चलाएँlsattrकमांड यह पुष्टि करने के लिए कि विशेषताएँ हटा दी गई हैं:lsattr filename
व्यावहारिक उदाहरण: a विशेषता
परिदृश्य:
आप फ़ाइल को संशोधित या नाम बदलने में असमर्थ हैं /etc/ssh/known_hosts।
हल करने के चरण:
- फ़ाइल विशेषताएँ जाँचें:
lsattr /etc/ssh/known_hosts - यदि
aविशेषता सेट है, तो इसे हटा दें:chattr -a /etc/ssh/known_hosts - सत्यापित करें कि विशेषता हटा दी गई है:
lsattr /etc/ssh/known_hosts - अब आपको फ़ाइल सहेजने या नाम बदलने में सक्षम होना चाहिए।
निष्कर्ष
“ chattr और lsattr ” कमांड Linux में फ़ाइल विशेषताओं के प्रबंधन के लिए अमूल्य उपकरण हैं। वे महत्वपूर्ण फ़ाइलों और निर्देशिकाओं के लिए सुरक्षा की एक अतिरिक्त परत प्रदान करते हैं, जिससे वे सिस्टम प्रशासकों के लिए आवश्यक हो जाते हैं। चाहे आप कॉन्फ़िगरेशन फ़ाइलें सुरक्षित कर रहे हों या फ़ाइल एक्सेस समस्याओं का निवारण कर रहे हों, इन कमांड में महारत हासिल करने से आपकी Linux विशेषज्ञता बढ़ेगी।