2012-06-04 10 views
6

से इनकार कर दी गई है मैंने कुछ मॉड्यूल संकलित और वितरित करने के लिए जेनकींस बिल्ड बनाया है। बिल्ड कमांड का आउटपुट (उदा।, make या ant) build.log नाम की फ़ाइल पर रीडायरेक्ट किया गया है।जेनकींस: अनुमति 777 फ़ाइल

अजीब बात यह है कि बहुत ही फाइल में echo पुनः निर्देशित, tee का उपयोग कर, विफल रहता है:

tee: ../../build.log: Permission denied 

फ़ाइल मौजूद है और 777 अनुमतियाँ (ls -ltrh ../.. के साथ की जाँच) है। कोई विचार क्या इस लेखन के साथ गलत है?

+2

क्या आप सुनिश्चित हैं कि निर्देशिका के पथ में उचित अनुमतियां हैं? सिर्फ फाइल नहीं? – sjakubowski

+0

क्या आप वाकई जेनकींस चलाने वाले उपयोगकर्ता को 777 अनुमति के साथ एक है? –

उत्तर

13

फ़ाइल पर अनुमतियां महत्वपूर्ण हैं, लेकिन इसलिए उस फ़ाइल की सुपर निर्देशिकाओं पर अनुमतियां हैं।

यदि आपने निर्देशिकाओं पर अनुमतियों को पढ़ और निष्पादित नहीं किया है, तो आप फ़ाइल के सापेक्ष पथ का पालन नहीं कर सकते हैं। यदि आपको "build.log" निर्देशिका में पढ़ने की अनुमति नहीं है, तो आप उस निर्देशिका में फ़ाइलों को सूचीबद्ध नहीं कर सकते हैं। पढ़ने, लिखने, और अनुमतियाँ निष्पादित निर्देशिकाओं के लिए कोई फर्क करते हैं, और वे मोटे तौर पर मैप करने के लिए:

  • पढ़ें = फ़ाइलों की लिस्टिंग की अनुमति देता है
  • लिखें = की अनुमति देता है बनाना/हटाने/संशोधित करना फ़ाइलें
  • निष्पादित = निर्देशिका को परिवर्तित करने की अनुमति देता है इस निर्देशिका में
संबंधित मुद्दे