क्या आप फ़ाइल अनुमतियों को प्रबंधित करने के लिए मुख्य रूप से मुख्य अवधारणाओं और कमांड लाइन टूल का उपयोग कर सकते हैं?
क्या आप फ़ाइल अनुमतियों को प्रबंधित करने के लिए मुख्य रूप से मुख्य अवधारणाओं और कमांड लाइन टूल का उपयोग कर सकते हैं?
जवाबों:
प्रत्येक फ़ाइल में तीन अलग-अलग श्रेणियों के अधिकार हैं:
राइट्स का मतलब फ़ाइल पढ़ने का अधिकार, फ़ाइल लिखने का अधिकार, या स्क्रिप्ट या प्रोग्राम के मामले में फ़ाइल निष्पादित करने का अधिकार।
सीएलआई पर, आप कर सकते हैं
chown
, जैसेchown guillermooo
chgrp
, जैसेchgrp root
chmod
, जैसे chmod u+w filename.ext
(फ़ाइल के मालिक के लिए जोड़ता लेखन अनुमति filename.ext
)यदि आप इनमें से प्रत्येक उपकरण के बारे में अधिक जानना चाहते हैं, तो एक टर्मिनल खोलें और टाइप करें man [tool]
, जैसे man chmod
।
chown guillermooo
क्या यह नहीं होना चाहिए chown guillermooo filename
?
चेतावनी: फाइलों और निर्देशिकाओं की अनुमति बदलना संभावित रूप से हानिकारक है और आपके सिस्टम को बेकार कर सकता है। जब गलत तरीके से रूट के रूप में पुनरावर्ती रूप से चलाया जाता है तो हम उस बिंदु पर आ सकते हैं जहां से हमें उबंटू को फिर से स्थापित करना होगा। इसलिए यह एक अच्छा विचार है कि होम निर्देशिकाओं के बाहर अनुमतियों को न बदलें, और जब भी संभव हो, रूट के रूप में पुन: कमांड को चलाने से बचना चाहिए।
उबंटू को यूनिक्स से अनुमति की अवधारणा मिली है जब फ़ाइलों या निर्देशिकाओं के लिए तीन कार्य हैं जिन्हें हम अनुमति या अस्वीकार कर सकते हैं:
( किसी निर्देशिका को ट्रेस करना अनिवार्य रूप से इसका उपयोग पथ नाम के भाग के रूप में करने का अर्थ है। अधिक स्पष्टीकरण के लिए https://unix.stackexchange.com/a/13891 या https://unix.stackexchange.com/questions/21251 देखें ।)
इसके अलावा हमारे पास तीन मामले हैं जिनके लिए हम अनुमति देते हैं:
अब इन छंटनी के संयोजन को प्राप्त करने के लिए हम एक बाइनरी सिस्टम का उपयोग करते हैं जहां प्रत्येक बिट एक अनुमति को परिभाषित करता है। यह निम्नलिखित तालिका में सबसे अच्छा दिखाया जा सकता है
Permission | Binary | Octal | User | Group | Other |
======================================================
r | 100 | 4 | | | |
w | 010 | 2 | | | |
x | 001 | 1 | | | |
=======================================================
Number
अब अगर हम उदाहरण के लिए चाहते हैं
a) फ़ाइल के मालिक (= उपयोगकर्ता) के पास r ead, w rite और e x ecute अनुमति है,
b) फ़ाइल के समूह ने r ead और e x ecute अनुमतियां प्रदान की हैं, और
c) अन्य सभी को केवल r ead पहुंच प्राप्त होनी चाहिए ।
तब परिणामी फ़ाइल अनुमति होगी:
u g o
rwx r-x r--
अष्टक संख्याओं में इसे प्राप्त करने के लिए, उदा। के लिए chmod
आदेश या हम एक त्रुटि संदेश हम नीचे के रूप में तालिका के ऊपर भरने की जरूरत को समझना होगा जब:
Permission | Binary | Octal | User | Group | Other |
======================================================
r | 100 | 4 | 4 | 4 | 4 |
w | 010 | 2 | 2 | 0 | 0 |
x | 001 | 1 | 1 | 1 | 0 |
======================================================
Numbers add to 7 5 4
उपयोगकर्ता (4 + 2 + 1 = 7), समूह (4 + 0 + 1 = 5), और अन्य (4 + 0 + 0 = 4) के लिए प्रत्येक अनुमति संख्या को जोड़ने की आवश्यकता है। परिणामी संख्या तब है:
u g o
7 5 4
अब हमारे पास अनुमति बिट्स को बदलने के लिए दो विकल्प हैं chmod
:
chmod u+rwx g+rx o+r filename
या बहुत सरल के साथ
chmod 751 filename
दोनों आज्ञाएँ वही करेंगे।
हमारे घर में एक नई बनाई गई फ़ाइल की डिफ़ॉल्ट अनुमति 664 (-rw-rw-r--) होगी।
यदि हम चाहते हैं कि प्रोग्राम के रूप में फाइल निष्पादन योग्य हो तो हमें इस अनुमति को बदलना होगा।
ध्यान दें कि हमें निर्देशिका की अनुमति को बदलना होगा यह निष्पादन योग्य हो सकता है। केवल अगर दोनों, फ़ाइल और निर्देशिका के निष्पादन योग्य बिट सेट हैं तो हमें इस फ़ाइल को प्रोग्राम के रूप में चलाने की अनुमति होगी।
किसी फ़ाइल को हमारे घर में कॉपी करते समय यह वह अनुमतियाँ खो देगा जो हमारे स्वयं के डिफ़ॉल्ट अनुमतियों द्वारा प्रतिस्थापित किया जाएगा (जब तक कि हम उन्नत विकल्पों का उपयोग करके कॉपी न करें जैसे कि एक संग्रह विकल्प)।
यह भी ध्यान दें कि फ़ाइल उनके आरोह बिंदु, सम्मान से उनकी अनुमति प्राप्त कर सकती है। माउंट विकल्प। यह महत्वपूर्ण है जब बढ़ते विंडोज स्वरूपित ड्राइव जो यूनिक्स अनुमतियों का समर्थन नहीं करते हैं।
हमें जल्द ही एहसास हुआ कि यह कहानी का केवल आधा हिस्सा था। हमें सामानों को छांटने की भी जरूरत है। ऐसा करने के लिए प्रत्येक फ़ाइल या फ़ोल्डर में एक परिभाषित स्वामी और एक परिभाषित समूह सदस्यता होती है।
हर बार जब हम एक फ़ाइल बनाते हैं तो हम एक फ़ाइल के मालिक होंगे, और फ़ाइल का समूह भी हम ही होंगे। साथ ls -l
हम अनुमतियाँ, स्वामित्व, और समूह निम्न उदाहरण उत्पादन से देखा देख सकते हैं:
-rw-rw-r-- 1 takkat takkat 4096 Sep 12 20:25 test
- हमें केवल एक फ़ाइल की अनुमति, समूह या स्वामित्व बदलने की अनुमति है जो हमारी है।
यदि हम फाइल के मालिक नहीं हैं तो हमें एक Permission denied
त्रुटि मिलेगी । केवल रूट ही इसे सभी फाइलों के लिए बदल सकता है। यही कारण है कि हमें उन sudo
फ़ाइलों की अनुमति संपादित करते समय उपयोग करना पड़ता है जो हमारे नहीं हैं। chown
उपयोगकर्ताओं के लिए और chgrp
समूहों के लिए ऐसा करने के लिए दो अंतर्निहित कमांड हैं।
किसी से फ़ाइल स्वामित्व बदलने के लिए takkat
हम यह आदेश जारी कर सकते हैं:
sudo chown takkat testfile
फ़ाइल का समूह बदलने के लिए takkat
हम जारी करते हैं
sudo chgrp takkat testfile
अधिक विवरण और विकल्पों के लिए आदेशों के मैनपेज़ पढ़ें। आगे पढ़ने के लिए सिफारिश की गई यह अच्छी और विस्तृत मार्गदर्शिका भी है:
इसके अलावा कुछ संबंधित प्रश्न यहां देखें: