2015-03-16 4 views
6

मुझे अपने नेटवर्क में कुछ फ़ाइलों को स्थानांतरित करते समय समस्या का सामना करना पड़ रहा है और फ़ाइल अनुमतियों के कारण होता है।CHMOD का उपयोग करके "drwx --- r-x +" फ़ोल्डर अनुमति कैसे प्राप्त करें? - बैश स्क्रिप्ट

वर्तमान में मेरे पास इस अनुमतियों के साथ फ़ोल्डर्स हैं drwxrwxrwx। मुझे एक बैश स्क्रिप्ट चलाने की आवश्यकता है जो ड्रॉक्स --- आर-एक्स +

एसीएल को वहां होने की आवश्यकता है।

मुझे समझ में नहीं आता कि मैं CHMOD कमांड का उपयोग करके समान अनुमतियों को कैसे प्राप्त कर सकता हूं। तो

chmod आर युगो = rx "फाइल"

लेकिन यह करने के लिए DR-XR-XR-x है, जो पर्याप्त नहीं है बदलने के लिए लगता है ...

: मैं अब तक की कोशिश की है प्रश्न यह है कि ड्रॉक्स --- आर-एक्स + प्राप्त करने के लिए मुझे किस कमांड को चलाने चाहिए ??

अग्रिम धन्यवाद।

पीएस। यह आदेश मैकॉक्स मैवेरिक में चलाना चाहिए ताकि "setfacl" कमांड मदद नहीं करेगा। इस प्रकार

+0

मैक से बहुत परिचित नहीं है, लेकिन afaik, आप chmod +/-/= a के साथ एसीएल सेट कर सकते हैं। अनुमतियों की सूची के बाद। शायद chmod आदमी/सहायता पृष्ठ में इसके बारे में जानकारी है। मेरा मानना ​​है कि आप ls -le – dgeorgiev

+1

'ls' के लिए' info' पृष्ठ के साथ विशेष अनुमतियां सूचीबद्ध कर सकते हैं, + वर्ण के बारे में बताते हैं: * "फ़ाइल मोड बिट्स के बाद एक ही वर्ण है जो निर्दिष्ट करता है कि एक वैकल्पिक पहुंच विधि जैसे अभिगम नियंत्रण सूची फ़ाइल पर लागू होती है ... वैकल्पिक पहुंच विधियों के किसी अन्य संयोजन के साथ एक फ़ाइल को '+' वर्ण के साथ चिह्नित किया जाता है "* –

+1

इन प्रासंगिक लिंक को आज़माएं: https://www.thomaskeller.biz/blog/2011/06/ 04/एसीएलएस-ऑन-मैक-ओएस-एक्स, http://unix.stackexchange.com/questions/30774, http://serverfault.com/questions/182213 –

उत्तर

15

अनुमतियों को तोड़ने drwx---r-x+:

  • d, एक निर्देशिका है निश्चित रूप से।
  • rwx का अर्थ है कि यह u सेक्शन के पठनीय, लिखने योग्य और सुलभ है। इन तीन बिट्स को अंडाकार संख्या 7 द्वारा दर्शाया जा सकता है।
  • --- का मतलब है तीन ऊपर उल्लिखित बिट्स जी roup निर्देशिका करने के लिए आवंटित के लिए निर्धारित नहीं कर रहे हैं। कोई बिट सेट नहीं है, इसलिए ऑक्टल संख्या 0 है।
  • r-x का अर्थ है कि उपयोगकर्ता जो पहले दो श्रेणियों से मेल नहीं खाते हैं - यानी, सभी, या "o थर्म" - निर्देशिका की सामग्री को पढ़ और एक्सेस कर सकते हैं, लेकिन इसे लिख नहीं सकते । यहां बिट्स कॉलम और चौथे कॉलम में हैं, इसलिए इस अनुमति का प्रतिनिधित्व करने वाला ऑक्टल नंबर 5 है।
  • + इंगित करता है कि इस निर्देशिका से जुड़ी "विस्तारित सुरक्षा जानकारी" है जो मानक ls "लंबे प्रारूप" में नहीं दिखाया गया है। एक अभिगम नियंत्रण सूची, उदाहरण के लिए।

इस निर्देशिका के बुनियादी अनुमति सेट करने के लिए, आप या तो अष्टाधारी शॉर्ट हाथ का उपयोग कर सकते हैं:

$ chmod 705 directoryname 

या आप "प्रतीकात्मक" प्रतिनिधित्व का उपयोग कर सकते हैं: जाहिर है

$ chmod u+rwx,g-rwx,o+rx-w directoryname 

, शॉर्टेंड है ... छोटा।

+ द्वारा दी गई विस्तारित सुरक्षा जानकारी के लिए, आपको यह पता लगाने की आवश्यकता होगी कि इसे दोहराने के लिए क्या सेट अप किया गया है। ls कमांड में -e विकल्प है जो इसे विस्तारित सुरक्षा सेटिंग्स दिखाता है।

वास्तव में कमांड लाइन से अपने एसीएल सेट करने के लिए, आप chmod'a =a, -a और +a विकल्पों का उपयोग करेंगे। इसके बारे में दस्तावेज़ीकरण ओएसएक्स में man chmod से उपलब्ध है। उस आदमी पृष्ठ से:

  Examples 
      # ls -le 
      -rw-r--r--+ 1 juser wheel 0 Apr 28 14:06 file1 
      owner: juser 
      1: admin allow delete 
      # chmod =a# 1 "admin allow write,chown" 
      # ls -le 
      -rw-r--r--+ 1 juser wheel 0 Apr 28 14:06 file1 
      owner: juser 
      1: admin allow write,chown 
संबंधित मुद्दे