एंड्रॉयड

लिनक्स में उमाक कमान

Umask लिनक्स प्रो

Umask लिनक्स प्रो

विषयसूची:

Anonim

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

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

लिनक्स अनुमतियाँ

आगे जाने से पहले, आइए शीघ्र ही लिनक्स अनुमतियों के मॉडल के बारे में बताएं।

लिनक्स में, प्रत्येक फ़ाइल एक मालिक और एक समूह से जुड़ी होती है और उपयोगकर्ताओं के तीन अलग-अलग वर्गों के लिए अनुमति के अधिकार के साथ असाइन की जाती है:

  • फ़ाइल का स्वामी। वह समूह के सदस्यों को। हर कोई।

प्रत्येक वर्ग पर लागू होने वाली तीन अनुमतियाँ हैं:

  • पठन अनुमति। वह अनुमति लिखें। वह अनुमति निष्पादित करें।

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

फ़ाइल अनुमतियां देखने के लिए, ls कमांड का उपयोग करें:

ls -l dirname

drwxr-xr-x 12 linuxize users 4.0K Apr 8 20:51 dirname | | | | | | | | | | | | +-----------> Group | | | | +-------------------> Owner | | | +----------------------------> Others Permissions | | +-------------------------------> Group Permissions | +----------------------------------> Owner Permissions +------------------------------------> File Type

पहला वर्ण फ़ाइल प्रकार का प्रतिनिधित्व करता है जो नियमित फ़ाइल ( - ), निर्देशिका ( d ), प्रतीकात्मक लिंक ( l ) या किसी अन्य विशेष प्रकार की फ़ाइल हो सकती है।

अगले नौ वर्ण अनुमतियों का प्रतिनिधित्व करते हैं, तीन वर्णों के तीन सेट। पहला सेट मालिक की अनुमतियों को दिखाता है, दूसरे को एक समूह की अनुमति देता है, और अंतिम सेट अन्य सभी को दिखाता है।

4 r के ऑक्टल मान के साथ वर्ण r , पढ़ने के लिए 2 ऑक्टल मान के साथ w , लिखने की अनुमति के लिए 1 ऑक्टल मान के साथ x और बिना किसी अनुमतियों के 0 ऑक्टल मान के साथ ( - ) के लिए है।

तीन अन्य विशेष फ़ाइल अनुमतियाँ प्रकार भी हैं: setuid , setgid और Sticky Bit

ऊपर दिए गए उदाहरण ( rwxr-xr-x ) का अर्थ है कि स्वामी ने अनुमतियों ( rwx ) को पढ़ा, लिखा और निष्पादित किया है, समूह और अन्य ने अनुमतियों को पढ़ा और निष्पादित किया है।

यदि हम एक संख्यात्मक संकेतन का उपयोग करके फ़ाइल अनुमतियों का प्रतिनिधित्व करते हैं, तो हम संख्या 755 तक आएंगे:

  • स्वामी: rwx = 4+2+1 = 7 समूह: rx = 4+0+1 = 5 अन्य: rx = 4+0+1 = 5

जब संख्यात्मक अंकन में प्रतिनिधित्व किया जाता है, तो अनुमतियों में तीन या चार अष्टक अंक (4-7) हो सकते हैं। पहला अंक विशेष अनुमतियों का प्रतिनिधित्व करता है यदि इसे छोड़ दिया जाता है तो इसका मतलब है कि फ़ाइल पर कोई विशेष अनुमतियाँ सेट नहीं हैं। हमारे मामले में 755 0755 समान है। पहला अंक setgid लिए 2 , setgid लिए 2 और Sticky Bit लिए 1 संयोजन हो सकता है।

फ़ाइल अनुमतियाँ chmod कमांड का उपयोग करके और chown कमांड का उपयोग करके स्वामित्व को बदला जा सकता है।

Umask को समझना

डिफ़ॉल्ट रूप से, लिनक्स सिस्टम पर, फ़ाइलों के लिए डिफ़ॉल्ट निर्माण अनुमतियाँ 666 हैं, जो उपयोगकर्ता, समूह, और अन्य को पढ़ने और लिखने की अनुमति देता है, और निर्देशिका के लिए 777 , जिसका अर्थ है, उपयोगकर्ता, समूह, और अनुमति पढ़ने, लिखने और निष्पादित करने के लिए अन्य। लिनक्स निष्पादन की अनुमति के साथ एक फ़ाइल को बनाने की अनुमति नहीं देता है।

डिफ़ॉल्ट निर्माण अनुमतियाँ को umask उपयोगिता का उपयोग करके संशोधित किया जा सकता है।

umask केवल वर्तमान शेल वातावरण को प्रभावित करता है। अधिकांश लिनक्स वितरण पर डिफ़ॉल्ट सिस्टम-वाइड umask मान pam_umask.so या /etc/profile फ़ाइल में सेट किया गया है।

वर्तमान मुखौटा मूल्य को देखने के लिए, बस बिना किसी तर्क के umask टाइप करें:

umask

आउटपुट में शामिल होगा

022

umask मान में अनुमति बिट्स हैं जो नई बनाई गई फ़ाइलों और निर्देशिकाओं पर सेट नहीं होंगे।

जैसा कि हमने पहले ही उल्लेख किया है, फ़ाइलों के लिए डिफ़ॉल्ट निर्माण अनुमति 666 और निर्देशिका 777 । नई फ़ाइलों की अनुमति बिट्स की गणना करने के लिए डिफ़ॉल्ट मान से umask मान घटाएं।

उदाहरण के लिए, गणना करने के लिए कि कैसे नई uname 022 नई बनाई गई फ़ाइलों और निर्देशिकाओं को प्रभावित करेगी, उपयोग करें:

  • फ़ाइलें: 666 - 022 = 644 । मालिक फ़ाइलों को पढ़ और संशोधित कर सकता है। समूह और अन्य केवल फाइलें पढ़ सकते हैं। अप्रत्यक्ष: 777 - 022 = 755 755। मालिक निर्देशिका में सीडी और सूची में फ़ाइलों को पढ़ सकते हैं, संशोधित कर सकते हैं, बना सकते हैं या हटा सकते हैं। समूह और अन्य निर्देशिका और सूची में cd और फ़ाइलों को पढ़ सकते हैं।

आप -S विकल्प का उपयोग करके प्रतीकात्मक संकेतन में मुखौटा मान भी प्रदर्शित कर सकते हैं:

umask -S

u=rwx, g=rx, o=rx

संख्यात्मक संकेतन के विपरीत, प्रतीकात्मक अंकन मूल्य में अनुमति बिट्स होते हैं जो नई बनाई गई फ़ाइलों और निर्देशिकाओं पर सेट किए जाएंगे।

मुखौटा मूल्य निर्धारित करना

फ़ाइल निर्माण मास्क को ऑक्टल या प्रतीकात्मक संकेतन का उपयोग करके सेट किया जा सकता है। परिवर्तनों को स्थायी रूप से सेट करने के लिए नए umask मान को वैश्विक कॉन्फ़िगरेशन फ़ाइल जैसे /etc/profile फ़ाइल में, जो सभी उपयोगकर्ताओं या उपयोगकर्ता के शेल कॉन्फ़िगरेशन फ़ाइलों जैसे ~/.profile , ~/.bashrc या ~/.zshrc में प्रभावित करेगा ~/.zshrc केवल उपयोगकर्ता को प्रभावित करेगा। उपयोगकर्ता फ़ाइलों की वैश्विक फ़ाइलों पर पूर्वता है।

umask मान में परिवर्तन करने से पहले सुनिश्चित करें कि नया मान संभावित सुरक्षा जोखिम पैदा नहीं करता है। 022 से कम प्रतिबंधात्मक मूल्यों का उपयोग बड़ी सावधानी के साथ किया जाना चाहिए। उदाहरण के लिए umask 000 मतलब है कि किसी ने भी सभी नई बनाई गई फ़ाइलों के लिए अनुमति को पढ़ा, लिखा और निष्पादित किया होगा।

मान लें कि हम नई बनाई गई फ़ाइलों और निर्देशिकाओं के लिए अधिक प्रतिबंधात्मक अनुमतियाँ सेट करना चाहते हैं, ताकि अन्य निर्देशिकाओं और फ़ाइलों को पढ़ने के लिए cd सक्षम न हों। अनुमतियाँ हम निर्देशिका के लिए 750 और फ़ाइलों के लिए 640

umask मान की गणना करने के लिए बस डिफ़ॉल्ट से वांछित अनुमतियों को घटाएं:

उमाक मूल्य: 777-750 = 027

संख्यात्मक अंकन में दर्शाया गया वांछित umask मान 027

अपने पाठ संपादक के साथ नई मूल्य प्रणाली को स्थायी रूप से /etc/profile फ़ाइल में खोलने के लिए:

sudo nano /etc/profile

और फ़ाइल की शुरुआत में निम्न पंक्ति बदलें या जोड़ें:

/ Etc / प्रोफ़ाइल

umask 027

प्रभावी होने के लिए निम्न source कमांड या लॉगआउट चलाएं और लॉग इन करें:

source /etc/profile

नई सेटिंग्स को सत्यापित करने के लिए हम mkdir और touch का उपयोग करके एक नई फ़ाइल और निर्देशिका बनाएंगे:

mkdir newdir touch newfile

drwxr-x--- 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r----- 1 linuxize users 0 Jul 4 18:14 newfile

फ़ाइल निर्माण मास्क सेट करने का दूसरा तरीका प्रतीकात्मक संकेतन का उपयोग करके है। उदाहरण के लिए umask u=rwx, g=rx, o= umask 027 समान है।

निष्कर्ष

इस गाइड में, हमने लिनक्स अनुमतियों को समझाया है और नए बनाए गए फ़ाइलों या निर्देशिकाओं के लिए अनुमतियाँ बिट्स सेट करने के लिए umask कमांड का उपयोग कैसे करें।

अधिक जानकारी के लिए अपने टर्मिनल में man umask टाइप करें।

umask टर्मिनल