चामॉड और चाउन के बीच मुख्य अंतर क्या है?


43

कुछ उदाहरणों में, मैंने देखा कि कुछ के chownबजाय इस्तेमाल किया chmod। मैं कहाँ उपयोग करने के लिए पता नहीं है chmodऔर chown। कृपया मुझे उनके बीच अंतर बताएं, मुझे कब और क्यों उपयोग करना चाहिए।


18
किसी का बनाया यह स्पष्ट अभी तक: एक ch anges आधुनिक ई और अन्य ch anges खुद एर। इसके अलावा, आदमी ual पढ़ें ।
रोकना बंद करो मोनिका

1
और जब chownभी कर सकते हैं ch Ange जीआर कहां पी , वहाँ है chgrpइस कार्य को करने के लिए विशेष रूप से समर्पित कर दिया।
बंद करो मोनिका

6
एक केले और एक कुर्सी के बीच मुख्य अंतर क्या है? केले पर मत बैठो।
शादुर

जवाबों:


48

एक फाइल बनाते हैं

touch rainbow

आइए फाइल के मेटाडेटा पर एक नजर डालते हैं

$ ls -l rainbow
-rw-rw-r-- 1 zanna zanna 0 May 24 10:09 rainbow

जानकारी का पहला भाग फ़ाइल प्रकार है ( -शुरुआत में इसका मतलब है कि यह एक नियमित फ़ाइल है) और अनुमति बिट्स

उसके बाद हम मालिक (ज़न्ना) और समूह (ज़न्ना) को देखते हैं। हम chownउन्हें बदलने के लिए कमांड का उपयोग कर सकते हैं :

$ sudo chown pixie rainbow
$ ls -l rainbow
-rw-rw-r-- 1 pixie zanna 0 May 24 10:09 rainbow

और हम chmodअनुमति बिट्स को बदलने के लिए उपयोग करते हैं

$ sudo chmod 333 rainbow
$ ls -l rainbow
--wx-wx-wx 1 pixie zanna 0 May 24 10:09 rainbow

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


1
छवि के लिए +1 .. हालांकि कोई अष्टकोणीय हार नहीं है? या chmod a+wउदाहरण? जो करने में समय लगता है लेकिन मुझे अधिक वोट
मिलते हैं

2
@ WinEunuuchs2Unix haha ​​धन्यवाद ... मैंने जानबूझकर एक विशेष रूप से बेकार अनुमति सेटिंग को चुना। अगर मैं वास्तव में यह समझाना शुरू कर दूं कि कब और क्यों हर संभव क्रमांकन का उपयोग करना है chmodऔर chown(जो अब तक बहुत व्यापक प्रश्न है) तो मेरा उत्तर हमेशा के लिए चला जाएगा। इसे सरल बनाए रखने की कोशिश की जा रही है
Zanna

96

सरल शब्द में फ़ाइल मोड बिट्स को बदलने के लिए chownफ़ाइल के स्वामित्व को बदलने के लिए उपयोग किया जाता है chmod

  • chown परिभाषित करता है कि फ़ाइल का मालिक कौन है।
  • chmod परिभाषित करता है कि कौन क्या कर सकता है।

जब आप किसी को किसी फ़ाइल का स्वामी बनाते हैं, तो वह उस फ़ाइल को लगभग जहाँ चाहे वहाँ कर सकता है, उदाहरण के लिए (वह) chmodअपने मॉड्स (अनुमतियाँ) को बदलने के लिए उपयोग कर सकता है कि कौन क्या कर सकता है।

$ ls -l file
-rwxrwxr-x  2  ravexina admins   26 May  9 12:49 file

उपरोक्त रेखा पर हम देख सकते हैं कि ravexinaफ़ाइल का स्वामी और adminsसमूह है। मैं उपयोग कर सकता हूं: sudo chown dave:sudo fileफ़ाइल के स्वामी को daveऔर समूह को बदलने के लिए sudo; अब फाइल "डेव" और "सुडो" समूह में सभी की है।

हालांकि chmodहम परिभाषित करते हैं कि कौन क्या कर सकता है? जिसके पास फ़ाइल पढ़ने, फ़ाइल लिखने या उसे निष्पादित करने का अधिकार है। उदाहरण के लिए:

chmod 777 file

मालिक, समूह और हर किसी सहित सभी को पढ़ने, लिखने और निष्पादित करने का अधिकार देता है।

से turnoff.us : यहाँ छवि विवरण दर्ज करें


1
मालिक जो कुछ भी फ़ाइल में करना चाहते हैं वह नहीं कर सकते - हटाने या हिलाने के लिए युक्त निर्देशिका पर लिखने की अनुमति चाहिए।
muru

2
@ मेरी बात सच है;) मेरा मतलब था कि मैं पढ़ता / लिखता / क्रियान्वित करता हूँ, वहाँ भी है chattrजो मेरे द्वारा बताई गई फ़ाइल को प्रभावित कर सकता है।
रवेक्सिना

1
@KamilMaciorowski आप जानते हैं कि, मुझे पता है कि, रवेक्सिना को पता है, लेकिन ज्यादातर लोग ऐसा नहीं करते।
मुरु

2
@KamilMaciorowski मैंने आपसे कुछ भी ढोंग करने के लिए नहीं कहा है। आप जो याद कर रहे हैं वह यह है कि अधिकांश लोग किसी फ़ाइल को निर्देशिका पर कार्रवाई के रूप में हटाने या नाम बदलने के बारे में नहीं सोचते हैं, लेकिन फ़ाइल पर संचालन के रूप में। इसलिए हमारे पास इस तरह के प्रश्न हैं: superuser.com/q/373115/334516 , unix.stackexchange.com/q/48579/70524 , askubuntu.com/q/240424/158442 जाहिर है कि आप जानते हैं कि ये निर्देशिका में संचालन हैं (बधाई) !), लेकिन इसके बारे में एक आम गलतफहमी है, इसलिए मैंने नोट किया कि नाम बदलने या हटाने से निर्देशिका पर अनुमतियाँ शामिल हैं, फ़ाइल नहीं। ...
मुरु

1
@KamilMaciorowski ... यह सवाल एक ऐसे उपयोगकर्ता द्वारा किया गया है जो चामॉड और चाउन के बीच अंतर नहीं जानता है, इसलिए यह मेरे लिए उचित है कि वे नहीं जानते कि फ़ाइल का नाम बदलने के लिए निर्देशिका पर अनुमति की आवश्यकता होगी।
मूरू

19

फ़ाइल (या निर्देशिका, या जो कुछ भी) की अनुमति पर विचार करते समय, दो कारक होते हैं:

  • फ़ाइल का मालिक कौन है - उपयोगकर्ता और समूह, और
  • वे इसके साथ क्या कर सकते हैं - इसके बारे में पढ़ें, लिखें, निष्पादित करें या एक संयोजन करें।

chownके साथ संबंधित है जोchmodसाथ सौदों क्या । आप एक के बजाय दूसरे का उपयोग नहीं कर सकते।

सरल यूनिक्स अनुमतियाँ उन उपयोगकर्ताओं को वर्गीकृत करती हैं जो फ़ाइल को तीन प्रकारों में एक्सेस करने का प्रयास कर रहे हैं:

  1. फ़ाइल का स्वामी
  2. उपयोगकर्ता जो समूह के सदस्य हैं उनके पास फ़ाइल है
  3. बाकी सब

chownपहले दो को बदलने के लिए उपयोग किया जाता है। chmodइन प्रकारों के लिए दिए गए अधिकारों को बदलने के लिए उपयोग किया जाता है।


7

पिछले उत्कृष्ट उत्तरों को जोड़ने के लिए कुछ बिंदुओं / युक्तियों:

  • इसे एक्सेस करने के लिए आपके पास एक निर्देशिका (और इससे ऊपर के सभी) पर अनुमति होनी चाहिए
  • लक्ष्य सहित सभी चीज़ों के लिए पुनरावर्ती परिवर्तन लागू करने के लिए -R विकल्प का उपयोग करें, जैसे chown -R www-data files/
  • आप सिंटैक्स का उपयोग करके एक ही समय में उपयोगकर्ता और समूह को बदल सकते हैं chown user:group myfile
  • अक्सर पूर्ण अनुमतियाँ स्थापित करने के बजाय '+' और '-' विकल्पों का उपयोग करना आसान / बेहतर होता है, खासकर जब फ़ाइलों और निर्देशिकाओं के संयोजन से निपटना। उदाहरण के लिए यदि आप किसी निर्देशिका और उसके नीचे सब कुछ लिखने की अनुमति समूह को देना चाहते हैं, chmod -R 775 files/तो यह सभी के लिए निष्पादन योग्य और पठनीय 'फ़ाइल /' और उसके नीचे और सब कुछ बना देगा, जो हर फ़ाइल के लिए वांछित परिणाम नहीं हो सकता है। उपयोग करने chmod -R g+w files/से केवल समूह लेखन अनुमति को बिना किसी और चीज़ को छुए अनुमति मिल जाएगी।

6

पहले से ही बहुत अच्छे उत्तर हैं, लेकिन मैं एक योगदान देना चाहूंगा जहां अनुमतियों को समझना बहुत आसान है

chmod u=r+w,o=r-w,g=-r-w test.php

u = user
o = other
g = group

इस तरह आप आसानी से किसी फ़ाइल के लिए अनुमतियाँ जोड़ सकते हैं। ऊपर के उदाहरण में

user = read + write
other = read but not write
group = not read not write

और -Rअगर आप अनुमतियों को पुनरावर्ती रूप से बदलना चाहते हैं , तो इसे न भूलें ।


1

chownयह बदलेगा कि कौन फ़ाइल का मालिक है और वह किस समूह का है, जबकि chmodपरिवर्तन यह करता है कि मालिक और समूह फ़ाइल तक कैसे पहुँच सकते हैं (या यदि वे इसे सभी तक पहुँचा सकते हैं)।

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