चामोद के साथ समूह को कैसे निर्दिष्ट करें?


34

मुझे किसी अन्य उपयोगकर्ता के होम फ़ोल्डर में निर्देशिका में समूह-रेक्स अनुमतियां जोड़ने के लिए कहा गया था।

मेरा मानना ​​है कि मुझे जो करना चाहिए chmod 771 -R directorynameवह मूल निर्देशिका में चलाया जाता है। मुझे जो कुछ भी ट्यूब पर नहीं मिला वह यह निर्दिष्ट करने का है कि मैं किस समूह को ये अनुमति देना चाहता हूं। मैं व्यक्तिगत रूप से कई समूहों में हूं, और एक गुच्छा में मुझे रूट के बारे में पता नहीं है।

यह मायने रखता है, सिस्टम में Redhat 5.4 चल रहा है।

जवाबों:


37

chmod()सिस्टम कॉल, और विस्तार से chmodकार्यक्रम, एक फ़ाइल या निर्देशिका के समूह को प्रभावित नहीं करता (या अन्य प्रकार की फ़ाइल: ब्लॉक विशेष, चरित्र विशेष, सॉकेट, ... सिमलिंक एक विशेष मामले के बारे में कुछ है)। तो, जिस समूह को अनुमति दी गई है वह समूह वह होगा जिसके पास फ़ाइल या निर्देशिका है।

समूह rwxअनुमतियाँ जोड़ने के लिए , आपको उपयोग करना चाहिए:

chmod -R g+rwx DirectoryName

हालाँकि, यह प्रत्येक फ़ाइल के साथ-साथ प्रत्येक निर्देशिका के लिए अनुमतियाँ जोड़ता है, और सभी फ़ाइलों को निष्पादन योग्य नहीं होना चाहिए। व्यक्तिगत रूप से, मैं बहुत दुखी होऊंगा अगर किसी ने समूह को मेरी निर्देशिकाओं के सभी (या किसी भी) पर अनुमति दी है, लेकिन यह एक और कहानी है।

केवल निर्देशिकाओं को प्रभावित करने के लिए, findइसके बजाय उपयोग करें :

find DirectoryName -type d -exec chmod g+rwx {} +

( +अंकन POSIX 2008 है; सभी यूनिक्स सिस्टम इसका समर्थन नहीं करते, हालांकि लिनक्स करता है।)


1
यदि आप + X (पूँजी X) का उपयोग करते हैं, तो आप केवल निष्पादन (या 'खोज') की अनुमति देंगे यदि फ़ाइल निर्देशिका है या पहले से ही कुछ उपयोगकर्ता के लिए अनुमति निष्पादित है। linux.die.net/man/1/chmod
डेव

@Dave: chmod +XBSD (Mac OS X) पर भी समर्थित है, ऐसा लगता है। POSIX की सावधानीपूर्वक जांच chmodयह इंगित करती +Xहै कि सभी के बाद POSIX सुविधा है: पर्म प्रतीक X फ़ाइल मोड बिट्स के निष्पादन / खोज भाग का प्रतिनिधित्व करेगा यदि फ़ाइल एक निर्देशिका है या यदि वर्तमान (अनमॉडिफाइड) फ़ाइल मोड बिट्स में से कम से कम एक है निष्पादित बिट्स (S_IXUSR, S_IXGRP, या S_IXOTH) सेट। यदि फ़ाइल निर्देशिका नहीं है तो इसे अनदेखा कर दिया जाएगा और वर्तमान फ़ाइल मोड बिट्स में कोई भी निष्पादित बिट सेट नहीं है। नीचे दिए गए राशन पर ध्यान दें।
जोनाथन लेफ़लर

12

एक एक्सट्रीम फाइल सिस्टम पर हर फाइल में है:

  1. एक मालिक उपयोगकर्ता
  2. एक मालिक समूह
  3. इस उपयोगकर्ता, इस समूह और अन्य सभी के लिए अनुमतियाँ।

यदि आप किसी फ़ाइल पर rwx समूह अनुमतियाँ सेट कर रहे हैं, तो केवल उस फ़ाइल का स्वामी समूह उसे पढ़ / लिख / निष्पादित कर सकता है। हालांकि, आप उपयोगकर्ता और स्वामी को बदल सकते हैं:

chown username file1 file2 ...
chown -R username somedir
chgrp groupname file1 file2 ....
chgrp -R groupname somedir
chown username:groupname file1 file2 ...

मैक ओएस एक्स पर विस्तारित फाइलसिस्टम विशेषाधिकारों यानी एसीएल (एक्सेस कंट्रोल लिस्ट) के लिए अलग-अलग कार्यान्वयन हैं, लेकिन चूंकि मैं कोई लिनक्स विशेषज्ञ नहीं हूं, इसलिए आपको शायद इसके लिए सर्वर फॉल्ट में पूछना चाहिए ।


"इसलिए यदि आप किसी फ़ाइल पर rwx समूह अनुमतियां सेट कर रहे हैं, तो केवल उस फ़ाइल का स्वामी समूह ही उसे पढ़ / लिख / निष्पादित कर सकता है" मुझे एहसास है, यह भ्रामक हो सकता है, सबसे पहले यदि आप स्वामी उपयोगकर्ता हैं, तो निश्चित रूप से स्वामी उपयोगकर्ता नियम पूर्वता लेते हैं, यदि आपका न तो स्वामी उपयोगकर्ता, न ही स्वामी समूह में, दूसरों के लिए नियम लागू होते हैं।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.