Umask के डाउनसाइड 077?


15

077 के प्रतिबंधक umask होने के लिए, विपक्ष क्या हैं? बहुत से डिस्ट्रोस (मेरा मानना ​​है कि सभी, रेड हैट को छोड़कर?) में 022 का डिफॉल्ट ऑमस्क, / etc / प्रोफाइल में कॉन्फ़िगर किया गया है। यह एक गैर-डेस्कटॉप प्रणाली के लिए बहुत असुरक्षित लगता है, जिसे कई उपयोगकर्ता एक्सेस कर रहे हैं, और सुरक्षा चिंता का विषय है।

संबंधित नोट पर, उबंटू पर, 755 अनुमतियों के साथ उपयोगकर्ताओं की होम निर्देशिका भी बनाई गई है, और इंस्टॉलर बताता है कि यह उपयोगकर्ताओं के लिए फ़ाइलों को साझा करना आसान बनाने के लिए है। यह मानते हुए कि उपयोगकर्ताओं द्वारा साझा की गई फ़ाइलों को बनाने के लिए हाथों से आरामदायक सेटिंग की अनुमति है, यह कोई समस्या नहीं है।

अन्य डाउनसाइड क्या हैं?


अनुमति टैग के लिए umask से अधिक की तरह लगता है ... imo
xenoterracide

आपके पास एक प्रश्न के लिए 5 टैग हो सकते हैं, तो इसके बारे में क्यों लड़ें? :) umask टैग जोड़ा गया।
वॉरेन यंग

@warren क्योंकि मुझे नहीं लगता कि हमें हर एक उचित संज्ञा के लिए टैग की आवश्यकता है। जब यूनिक्स में अनुमति की बात कर रहे हैं तो आपको umask शामिल करना होगा।
xenoterracide

जवाबों:


15

022 चीजों को सुविधाजनक बनाता है। 077 चीजों को कम सुविधाजनक बनाता है, लेकिन परिस्थितियों और उपयोग प्रोफ़ाइल के आधार पर, यह उपयोग करने से कम सुविधाजनक नहीं हो सकता है sudo

मैं यह तर्क दूंगा कि जैसे sudo, इससे होने वाला वास्तविक, औसत दर्जे का सुरक्षा लाभ आपको अपने और अपने उपयोगकर्ताओं के दर्द के स्तर की तुलना में नगण्य है। एक सलाहकार के रूप में, मुझे अपने विचारों के लिए तिरस्कृत किया गया है sudoऔर कई sudoसेटअपों को तोड़ने की चुनौती दी गई है , और मुझे ऐसा करने में अभी 15 सेकंड से अधिक समय लगना है। तुम्हारा फोन।

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

उमाक भी एक बैश बिल्ट-इन है, जो अलग-अलग उपयोगकर्ताओं द्वारा अपनी शेल इनिशियलाइज़ेशन फ़ाइलों ( ~/.bash*) में तय किया जाता है, इसलिए आप वास्तव में इसे आसानी से लागू नहीं कर सकते हैं umask। यह सिर्फ एक डिफ़ॉल्ट है। दूसरे शब्दों में, यह आपको ज्यादा नहीं खरीद रहा है।


2

सबसे स्पष्ट नकारात्मक पक्ष यह है कि जब आप किसी साझा निर्देशिका में फ़ाइलें / निर्देशिका बनाना शुरू करते हैं, तो अन्य उपयोगकर्ताओं को उनसे एक्सेस करने की उम्मीद होती है।

बेशक, यह केवल उन सामानों को करने से पहले सही umask सेट करने के लिए नहीं भूलना है जो सभी उपयोगकर्ताओं द्वारा साझा किए जाने की आवश्यकता है।

एक और कैविएट (वास्तव में एक नकारात्मक पहलू नहीं है, एक बार जब आप इसके बारे में जानते हैं) तब होता है जब आप स्थानीय कार्यक्रम, रूबी रत्न, अजगर अंडे स्थापित करना शुरू कर देते हैं (ओएस स्पष्ट रूप से पैकेजों का प्रबंधन नहीं करते हैं), कॉन्फ़िगरेशन फ़ाइलों का निर्माण, और इसी तरह।

आप सूडो सत्र द्वारा विरासत में प्राप्त किए गए ऑमस्क के लिए परेशानी में पड़ जाएंगे, इसलिए केवल रूट ही आपके द्वारा बनाई गई फ़ाइलों / डायरियों का उपयोग करने में सक्षम होंगे। sudo को आपके द्वारा इच्छित तरीके से स्वचालित रूप से umask सेट करने के लिए कॉन्फ़िगर किया जा सकता है: यह प्रश्न superuser.com पर कवर किया गया है


और बाद का कारण एक अच्छा कारण है su -और यह सुनिश्चित करना है कि जड़ में एक अलग umask है ... लेकिन ओह ... ubuntu जड़ में विश्वास नहीं करता है ...
xenoterracide

1
@xenoterracide: sudo su -ठीक काम करता है। मैकओएसएक्स की तरह, उबंटू एक रूट पर विश्वास नहीं करता है जिसे आप बस लॉग इन कर सकते हैं। निजी तौर पर, मुझे ज्यादातर समय रूट कमांड के लिए "साइमन सेस" जैसा कुछ कहना पसंद है।
डेविड थॉर्नले

@xenoterracide एह? अापका नजरिया क्या है? दोनों सूदो और सु एक अलग उम्मा होने के लिए अनुमति देते हैं। @
डेविड आप सुडो के

1
@xenoterracide: वास्तव में रूट कमांड का उपयोग करने का मतलब है कि मैं गलत विंडो में कुछ टाइप करने की संभावना रखता हूं। "सुडो" का उपयोग करने का मतलब है कि मुझे यह निर्दिष्ट करना होगा कि मैं इसे रूट द्वारा निष्पादित करना चाहता हूं। मैं पूरी तरह से जानता हूं कि एक रूट खाता है, इसलिए मुझे नहीं लगता कि सुरक्षा का गलत अर्थ कहां से आता है। यह सिर्फ एक और थोड़ा सा अनुष्ठान है (जैसे मेरे हाथों पर बैठना) जिससे यह संभावना कम हो जाती है कि मैं जड़ के रूप में कुछ बेवकूफी करूंगा।
डेविड थॉर्नले

1
sudo और su, एक कमांड की तरह टूल हैं। उपयोगिता के साथ भावनाओं को मिश्रण करने की आवश्यकता नहीं है। sudo लचीले विन्यास, ऑडिटिंग और su के लिए प्रयोज्यता लाता है। बेशक किसी को विभिन्न संभावनाओं के बारे में जानने की जरूरत है और वास्तव में लाभों को पहचानने के लिए उनकी आवश्यकता है। मुझे लगता है कि यह "सुरक्षा की झूठी भावना" है जिसके बारे में आप बात कर रहे हैं, इसे उबंटू "रूट अकाउंट डिसेबल" पॉलिसी पर अधिक उचित रूप से लक्षित किया जाना चाहिए। यह एक उपकरण और एक नीति के बीच का अंतर है। एक पॉलिसी के खिलाफ अच्छे तर्क दिए जा सकते हैं। एक उपकरण की उपयोगिता से इनकार करना क्योंकि कोई एक नीति से सहमत नहीं है, वह गलत है।
zarkdav

1

यदि आप अन्य उपयोगकर्ताओं को एक-दूसरे से क्या देख सकते हैं, इसे नियंत्रित करने की कोशिश कर रहे हैं, तो उमाक उचित नहीं होगा। हालाँकि, अगर आपके पास ऐसी कई फाइलें हैं, जो उस बिंदु के प्रति संवेदनशील हैं, जो उन्हें एक्सेस करने की अनुमति के लिए संवेदनशील है, तो कम परेशान / जोखिम भरा है, बस लोगों को जो कुछ भी वे चाहते हैं, उसे देखने के लिए, 077 के उमर की तुलना में एक अच्छा विचार होगा।

मेरे पास एक फ़ाइल सर्वर पर कुछ संवेदनशील फाइलें हैं जिन्हें मैं प्रबंधित करता हूं। मुझे लगता है कि एक प्रतिबंधात्मक umask सेट करना तब एक आवधिक स्क्रिप्ट है, शायद कुछ फ़ोल्डर्स में आइटम के लिए अधिक विशिष्ट अनुमतियाँ सेट करने के लिए एक क्रॉन जॉब मेरे लिए एक आदर्श समाधान होगा। जब मैंने इसे स्थापित किया तो मैं यहां वापस पोस्ट करूंगा, और आपको बताऊंगा कि यह कैसे काम करता है।

@ [लोग सूद को कोसते हैं] इसके लिए एक नया सूत्र शुरू करें, यह इसके कई धागे ले सकता है और यह धागा शुमाक के बारे में है।


1

थर्ड-पार्टी एप्लिकेशन जो अपने स्वयं के इंस्टॉलेशन सिस्टम का उपयोग करते हैं, सिस्टम डिफ़ॉल्ट ऑमस्क के बारे में अंतर्निहित धारणाएं हो सकती हैं।

एक व्यावहारिक उदाहरण के रूप में, एक सिस्टम पर Oracle 10 डेटाबेस को अपडेट करने के बाद, जिसमें umask 077 पर सेट था, उसी सिस्टम पर एप्लिकेशन डेटाबेस तक पहुंचने में विफल रहे ... क्योंकि डेटाबेस डेटाबेस के लिए आवश्यक लाइब्रेरी, और लाइब्रेरीज़ को डायरेक्ट्री देता है। में स्थित थे, अब संरक्षित थे ताकि केवल oracleउपयोगकर्ता ही उन तक पहुंच सके, जो स्पष्ट रूप से नहीं था कि चीजों को कैसे काम करना चाहिए था।

यह पता चला है कि Oracle updater प्रक्रिया ने विशेष रूप से ध्यान नहीं दिया कि क्लाइंट पुस्तकालयों की अनुमति अन्य उपयोगकर्ताओं को उनका उपयोग करने की अनुमति देगी, लेकिन इसके बजाय इस धारणा पर निर्भर करती है कि updater द्वारा जोड़ी गई फाइलें umask 022 के साथ बनाई जाएंगी और इसलिए उपयोग करने योग्य हैं। डिफ़ॉल्ट रूप से। chmod -R a+rXउचित निर्देशिकाओं के लिए कुछ विवेकपूर्ण आदेशों के बाद , सब फिर से ठीक हो गया।

दी गई है, यह oracleमानक umask 022 के साथ एक विशेष प्रणाली खाते के रूप में खाते को टालने से बचा जा सकता है , और umask 077 को केवल वास्तविक उपयोगकर्ता खातों में लॉगिन करने के लिए प्रतिबंधित कर सकता है ... लेकिन मुझे लगता है कि यह एक अच्छा उदाहरण है कि कैसे कंबल - सख्त। “निर्णयों के अप्रत्याशित दुष्प्रभाव हो सकते हैं।

.rpmऔर .debपैकेज उनके पास मौजूद किसी भी फाइल के लिए स्पष्ट अनुमति की जानकारी रखते हैं, इसलिए उनके पास आमतौर पर इस प्रकार की त्रुटियों का जोखिम नहीं होता है।


0

मेरे पास यह रेखा है ~/.zshrc

umask 0077

इसे विश्व स्तर पर स्थापित करना शायद एक अच्छा विचार नहीं है, लेकिन इसे अपने आरसी फ़ाइल में डिफ़ॉल्ट के रूप में सेट करना संभवतः चोट नहीं पहुंचाना है या यहां तक ​​कि इसे /etc/skel/.rcफ़ाइल में डिफ़ॉल्ट के रूप में सेट करना है । सिस्टम वाइड समस्याएँ पैदा करेगा।


0

यह एक सर्वर पर समस्याएं पैदा करेगा; उदाहरण के लिए, जब अलग-अलग उपयोगकर्ताओं के रूप में कई एप्लिकेशन चल रहे हों, तो विभिन्न उपयोगकर्ताओं की फ़ाइलों को एक्सेस करने की कोशिश कर रहे हैं। जैसे अपाचे रीडिंग कॉन्फिग फाइल या पाई-होल रीडिंग dnsmasq.conf। बस इसे उन उपयोगकर्ताओं पर चलाएं जो व्यक्तिगत घर निर्देशिकाओं की तरह इसका लाभ उठा सकते हैं, स्पष्ट रूप से सेट नहीं किए गए हैं /etc/profile

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