लेखन अनुमति को हटाने से रूट को फ़ाइल में लिखने से रोका नहीं जाता है


31

मैंने सिर्फ अपने उबंटू मशीन (एक्सटी 3 फाइलसिस्टम) पर ध्यान दिया है कि किसी फाइल से राइटिंग परमिशन को हटाने से राइट टू राइट नहीं रहता है।

क्या यह UNIX फ़ाइल अनुमतियों का एक सामान्य नियम है? या उबंटू के लिए विशिष्ट? या मेरी मशीन पर गलत धारणा?

# टच एबीसी
# चामड़ कुरूप-डब्ल्यू एबीसी
# अजगर
पायथन 2.6.4 (r264: 75706, 7 दिसंबर 2009, 18:45:15) 
[जीसीसी 4.4.1] linux2 पर
अधिक जानकारी के लिए "सहायता", "कॉपीराइट", "क्रेडिट" या "लाइसेंस" टाइप करें।
>>> खुला ('एबीसी', 'डब्ल्यू')। लिखें ('एएए \ n')
>>> 
# बिल्ली एबीसी
एएए

यदि मैं अपने सामान्य उपयोगकर्ता खाते से ऐसा करता हूं तो फ़ाइल में लिखना विफल है (उम्मीद के मुताबिक)।

  1. क्या यह सामान्य व्यवहार है?

  2. क्या किसी फ़ाइल को गलती से रूट को रोकने का कोई तरीका है? (अधिमानतः सामान्य फाइलसिस्टम मैकेनिज्म का उपयोग करते हुए, AppArmor इत्यादि का नहीं)

कृपया मुझे उस चीज़ के बारे में सिखाएं जो मुझे निश्चित रूप से समझ में नहीं आता है।

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

नोट: मैं यह भी समझता हूं कि किसी को सामान्य संचालन के लिए रूट के रूप में लॉग इन नहीं किया जाना चाहिए । मैंने अभी इस व्यवहार पर गौर किया है और आपसे इसके बारे में पूछ रहा हूं।

जवाबों:


46

1) यह एक सामान्य व्यवहार है। रूट के पास हर समय सभी फाइलों पर rw एक्सेस है।

2) आप किसी फ़ाइल को रूट (जानबूझकर कार्रवाई नहीं, बल्कि आकस्मिक, वैसे भी) का उपयोग करके संरक्षित कर सकते हैं

chattr +i filename.ext

यह "परिवर्तन गुण अपरिवर्तनीय जोड़ें" है। सुरक्षा हटाने के लिए:

chattr -i filename.ext

man chattrअधिक जानकारी के लिए एक नज़र है


@brice: बहुत धन्यवाद। सीधे मेरे सवाल का जवाब देता है। गपशप के बारे में नहीं पता था।
लैरीमिकेल

मेरे सिस्टम को चलाने के लिए रूट एक्सेस की आवश्यकता है chattr। क्या ऐसी विशेषताओं को सेट करने का कोई उपयोगकर्ता-मोड है?
क्वैक कोटे

1
... हालाँकि यह सवाल का एक बड़ा जवाब है, " rootकिसी फाइल को इतनी अच्छी तरह से सुरक्षित कर सकते हैं यहां तक ​​कि वह इसे हटा भी नहीं सकता है"!
क्वैक क्विक्सोट

4
अधिक सटीक (लिनक्स के मामले में, वैसे भी), रूट में CAP_DAC_OVERRIDEएसीएल और अनुमतियों को अनदेखा करने की अनुमति देने की क्षमता है।
ग्रैविटी

1
FYI करें, इसके बराबर OS X, sudo chflags <s|u>chg <file>इसे क्रमशः सिस्टम या उपयोगकर्ता के लिए अपरिवर्तनीय बनाता है, और क्रमशः सिस्टम या उपयोगकर्ता के sudo chflags no<s|u>chg <file>लिए अपरिवर्तनीय ध्वज को परेशान करने के लिए।
GDP2

3
  1. हां, यह सामान्य है। जड़ भगवान है।

  2. हां, ओवरराइटिंग फ़ाइलों से रूट को रोकने के तरीके हैं।

    • अपरिवर्तनीय बिट को सेट करें chattr( +iसेट, -iअनिश्चित)। रूट एक्सेस की आवश्यकता है, केवल ext2 / ext3 (वर्तमान में ext4 भी) पर काम करता है, लेकिन अन्यथा व्यावहारिक है।
    • ऐप्स को रूट के रूप में न चलाएं। कोई रूट प्राइवेट नहीं, कोई ओवर राइटिंग फाइल नहीं। sudoसिस्टम फ़ंक्शंस तक पहुंचने के लिए उपयोग करें ।
    • फ़ाइल सिस्टम को अनमाउंट करें। कोई माउंटेड एफएस, कोई ओवर राइटिंग फाइल नहीं। [*]
    • कंप्यूटर बंद करें। न बिजली, न ओवर राइटिंग फाइलें।

ये विधियाँ # 1 से तार्किक रूप से अनुसरण करती हैं। जैसा कि आप देख सकते हैं, अंतिम दो तरीके आम तौर पर उपयोगी नहीं होते हैं, उसी तरह जिस तरह नेटवर्क को अनप्लग करके वायरस से विंडोज की रक्षा करना आम तौर पर उपयोगी नहीं होता है। यही कारण है कि जड़ खतरनाक है। [+]

[*] "गलती से" लिखने की संभावना को सीधे ब्लॉक डिवाइस पर लिखना, बिल्कुल। हाँ, जड़ ऐसा कर सकते हैं। हां, आप इसे रोक सकते हैं: डिवाइस को डिस्कनेक्ट करें।

[+] यह वह जगह भी है जहां से BOfH मिथक आते हैं। वे सभी मिथक नहीं हैं।


@ ~ क्वैक: ब्रिस की विधि आपके द्वारा सूचीबद्ध तीन की तुलना में अधिक व्यावहारिक है। :)
laramichaels

@ ~ क्वैक: मेरे प्रश्न ने स्पष्ट कर दिया कि मैं चल रहे कमांड के साथ मुद्दों को रूट के रूप में समझता हूं।
लैरीमिकेल

3

आप लिनक्स कर्नेल "क्षमताओं" का उपयोग करके रूट उपयोगकर्ता के लिए फ़ाइल एक्सेस को भी प्रतिबंधित कर सकते हैं: http://www.securityfocus.com/infocus/1400

कुछ फ़ाइलों को रूट करने के लिए अपरिवर्तनीय बनाने के लिए एसई-लिनक्स या कुछ अन्य कर्नेल पैच का उपयोग करने की भी संभावना है।


0

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

तो नहीं, संभावना है कि आप केवल रूट खाते को निष्क्रिय कर देंगे, ताकि इसके खराब उपयोग को रोका जा सके।

सादर

[स्वयं पर ध्यान दें: आप विनम्र होंगे ... शायद आप गलत हैं]

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.