अनुमतियाँ 755 पर / घर / <उपयोगकर्ता> /


15

मैं सोच रहा हूं कि डिफ़ॉल्ट रूप से मेरी निर्देशिका के /home/<user>/पास अनुमतियाँ सेट क्यों हैं 755। इससे अन्य उपयोगकर्ता निर्देशिकाओं में प्रवेश कर सकते हैं और मेरे घर में फाइलें पढ़ सकते हैं। क्या इसका कोई वाजिब कारण है?

क्या मैं 700अपने घर और सभी उप निर्देशिकाओं के लिए अनुमतियाँ सेट कर सकता हूँ , उदाहरण के लिए:

chmod -R o-xw /home/<user>/ 
chmod -R g-xw /home/<user>/

बिना कुछ तोड़े?

इसके अलावा, क्या मेरे घर पर अनुमतियाँ सेट करना संभव है, ताकि बनाई गई सभी नई फाइलें 600और निर्देशिकाएं होंगी 700?


1
आरएचईएल / सेंटोस 5 में डिफ़ॉल्ट 700 है, लेकिन उबंटू 755 में
राहुल पाटिल

2
यह कुछ विशेष सेटअप में आम है जो public_htmlवेब सर्वर को निर्देशिका तक पहुंचने की अनुमति देने के लिए उपयोग करते हैं। हालांकि यह उपयोगकर्ताओं के लिए बहुत सुविधाजनक है, मैं इसका बहुत बड़ा प्रशंसक नहीं हूं।
मार्को

जवाबों:


18

यदि आपकी होम डायरेक्टरी निजी है, तो कोई भी आपकी किसी भी फाइल को एक्सेस नहीं कर सकता है। किसी फ़ाइल तक पहुँचने के लिए, रूट डाइरेक्टरी से पेड़ के नीचे के मार्ग पर सभी निर्देशिकाओं को अनुमति देने के लिए एक प्रक्रिया की आवश्यकता होती है। उदाहरण के लिए, अन्य उपयोगकर्ताओं को पढ़ने के लिए अनुमति देने के लिए /home/martin/public/readme, निर्देशिका /, /home, /home/martinऔर /home/martin/publicअनुमतियाँ करने के लिए सभी की जरूरत है d??x??x??x(यह हो सकता है drwxr-xr-x, या drwx--x--xया कुछ अन्य संयोजन), और साथ ही फ़ाइल readmeसार्वजनिक रूप से पठनीय होना चाहिए ( -r??r??r??)।

मोड drwxr-xr-x(755) या कम से कम drwx--x--x(711) के साथ घर निर्देशिकाओं का होना आम है । मोड 711 (केवल अनुमति पर अमल) एक निर्देशिका पर दूसरों को उस निर्देशिका में एक फ़ाइल का उपयोग करने की अनुमति देता है यदि वे इसका नाम जानते हैं, लेकिन निर्देशिका की सामग्री को सूचीबद्ध करने के लिए नहीं। उस घर निर्देशिका के तहत, सार्वजनिक और निजी उपनिर्देशिकाएँ वांछित के रूप में बनाएँ।

यदि आप कभी नहीं चाहते हैं, तो कभी भी अन्य लोग आपकी किसी भी फाइल को पढ़ना चाहते हैं, तो आप अपनी होम डायरेक्टरी drwx------(700) बना सकते हैं । यदि आप ऐसा करते हैं, तो आपको अपनी फ़ाइलों की व्यक्तिगत रूप से सुरक्षा करने की आवश्यकता नहीं है। यह आपकी फ़ाइल को पढ़ने के लिए अन्य लोगों की क्षमता के अलावा कुछ भी नहीं तोड़ेगा।

एक आम बात जो टूट सकती है, क्योंकि यह आपकी फ़ाइलों को पढ़ने वाले अन्य लोगों का उदाहरण है, यदि आपके पास कोई निर्देशिका है जैसे कि ~/public_htmlया ~/wwwजिसमें आपका वेब पेज है। वेब सर्वर के कॉन्फ़िगरेशन के आधार पर, इस निर्देशिका को विश्व-पठनीय होने की आवश्यकता हो सकती है।

आप अपने द्वारा umask मान सेट करके आपके द्वारा बनाई गई फ़ाइलों के लिए डिफ़ॉल्ट अनुमतियाँ बदल सकते हैं .profile। Umask किसी फ़ाइल की अधिकतम अनुमतियों का पूरक है। आम मूल्यों में 022 (केवल स्वामी द्वारा पठनीय, सभी के द्वारा पठनीय और निष्पादन योग्य), 077 (केवल स्वामी द्वारा पहुंच), और 002 (जैसे 022, लेकिन समूह-लेखन योग्य) शामिल हैं। ये अधिकतम अनुमतियाँ हैं: अनुप्रयोग अधिक प्रतिबंधात्मक अनुमतियाँ सेट कर सकते हैं, उदाहरण के लिए अधिकांश फाइलें गैर-निष्पादन योग्य होती हैं क्योंकि जो एप्लिकेशन उन्हें बनाता है वह फ़ाइल बनाते समय निष्पादन अनुमति बिट्स को सेट नहीं करता है।


मैं अपनी मशीन पर वेब सर्वर नहीं चला रहा हूं, इसलिए मुझे प्रवेश की अनुमति देने की आवश्यकता नहीं है ~/public_html। क्या अपाचे के अलावा कोई अन्य सामान्य कार्यक्रम है, जिसे मेरे घर तक पहुंच की आवश्यकता हो सकती है? postfixउदाहरण के लिए, किस बारे में ।
मार्टिन वेगाटर

1
@MartinVegter अच्छी बात है। ईमेल प्रोग्राम हमेशा आपके उपयोगकर्ता के रूप में चलते हैं जब वे मेल वितरित करते हैं , लेकिन कुछ सिस्टम .forwardको सिस्टम उपयोगकर्ता के रूप में चल रहे मेल सिस्टम द्वारा पठनीय होना चाहिए। पोस्टफिक्स हालांकि एक निजी के साथ ठीक है .forward
गिल्स एसओ- बुराई को रोकें '

3

यदि आप RHEL / CentOS 5.x में जांच करते हैं, तो डिफ़ॉल्ट अनुमति 700 है, लेकिन उबंटू में यह 755 है।

Ubuntuforms.org स्टाफ सदस्य के अनुसार , नए उपयोगकर्ताओं के बीच फ़ाइलों को साझा करना आसान बनाना है। यदि आप फ़ाइलों को पठनीय और निष्पादन योग्य नहीं चाहते हैं, तो आप अनुमति को 700 या 750 में बदल सकते हैं।

इसके अलावा, क्या मेरे घर पर अनुमतियों को सेट करना संभव है, ताकि बनाई गई सभी नई फ़ाइलों में 600 और निर्देशिकाएं 700 होंगी?

आप सेट कर सकते हैं umask 0077कि के लिए

यह काम करेगा:

निर्देशिका के लिए डिफ़ॉल्ट अनुमति है 0777, इसलिए जब आप umask सेट करते हैं 0077तो नई निर्देशिका अनुमति के साथ बनाएगी (0777-0077) अर्थात 0700जैसा आप चाहते हैं।


umaskफाइलों पर भी लागू होता है? जब मैं नई निर्देशिकाएँ बनाता हूँ तो इसका केवल प्रभाव पड़ता है।
मार्टिन वेगाटर

2
हां ... आप अपने वर्तमान शेल में बस सेट umask 0077और फ़ाइल बना सकते हैं, डीआईआर कर सकते हैं और अनुमति की जांच कर सकते हैंstat filename
राहुल पाटिल

3

हां, एक बहुत वैध कारण है। ध्यान दें कि अन्य उपयोगकर्ता पढ़ सकते हैं लेकिन आपकी फ़ाइलों को नहीं लिख सकते हैं। यह पेशेवर नेटवर्क में बहुत उपयोगी है क्योंकि आप आसानी से अपने सहयोगियों के साथ अपनी फ़ाइलें साझा कर सकते हैं।

उदाहरण के लिए, जिस लैब में मैं काम करता था, हम सभी को एक-दूसरे की $HOMEनिर्देशिकाओं तक पहुंच प्राप्त थी ताकि हम आसानी से अपने डेटा या हमारी स्क्रिप्ट को एक-दूसरे के साथ साझा कर सकें। अगर मेरे दोस्त एलिस के पास एक्स करने के लिए एक अच्छी स्क्रिप्ट थी, तो मैं इसे चलाऊंगा:

~alice/bin/scriptX.pl mydata

जैसा कि दूसरों ने उल्लेख किया है, इसे बदलने के लिए आपको umask सेट करना होगा। उदाहरण के लिए, केवल आपके द्वारा नई फ़ाइलों और फ़ोल्डरों को पढ़ने योग्य बनाने के लिए, इसे अपने में जोड़ें ~/.bashrc:

umask 0077

3
ऐलिस पर्ल लिपि का उपयोग करने के बारे में थोड़ा भयानक है। स्क्रिप्ट को अपने होम डायरेक्टरी में कॉपी करें, उसका ऑडिट करें और उसके बाद ही अपनी कॉपी का उपयोग करें।
एलेक्स वेबब्रिज

6
@ ऐलेक्स वेबब्रम सबसे पहले, मैं इसे पहले पढ़ूंगा, दूसरा ऐलिस इस मामले में वह व्यक्ति है जो मेरे बगल में बैठा है जिसने सिर्फ एक अच्छी स्क्रिप्ट लिखी है। हम यह मान सकते हैं कि मैं उन पर उतना ही भरोसा करूंगा जितना मैं किसी भी डेवलपर का काम करूंगा, जिसका काम मैं अपनी मशीन पर आंख मूंद कर करूंगा। वास्तव में सबसे अधिक से अधिक। इसके अलावा, यह एक प्रयोगशाला थी इसलिए हमने अक्सर कुछ जीबी जीनोम डाउनलोड किए और यह एक दूसरे को उन तक पहुंच प्रदान करने का एक आसान तरीका था।
terdon

1

आपको अपने होम फोल्डर में नई फाइलें कैसे बनानी हैं, यह बदलने के लिए आपको umask को बदलना होगा। यह आमतौर पर आपके शेल स्टार्टअप स्क्रिप्ट को संपादित करके किया जाता है, एक बहुत अच्छा अवलोकन है है

अपने होम फोल्डर में सभी अनुमतियों को 700 में बदलने के लिए, मैं सोच रहा हूं कि सेवा खातों के तहत चलने वाली सेवाओं को कैसे प्रभावित किया जाएगा, जिन्हें आपके होम फ़ोल्डर से कॉन्फिगर जानकारी की आवश्यकता है ... आप इन सेवाओं को उन कॉन्फ़िगरेशन फ़ाइलों को पढ़ने से रोक सकते हैं जिनकी उन्हें आवश्यकता है ।

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