एक योनि साझा निर्देशिका पर setfacl चल रहा है


10

एक Symfony2 परियोजना को प्राप्त करने की कोशिश कर रहा है और एक आवारा VM के साथ चल रहा है। मैंने इस पर एक ज़िलियन लेख देखा है, लेकिन कैश डायरेक्टरी को सही ढंग से अनुमति प्राप्त करना कष्टदायी रूप से दर्दनाक साबित हो रहा है।

मेरे में Vagrantfile:

config.vm.share_folder("src", "/var/www", "../www")

मेरी VM की fstabफ़ाइल:

proc            /proc           proc    nodev,noexec,nosuid 0       0
/dev/mapper/ubuntu--1110-root /               ext4    acl,errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=4ed7eaaf-6f42-48ba-b5ed-f0c1df9add38 /boot           ext2    defaults        0       2
/dev/mapper/ubuntu--1110-swap_1 none            swap    sw              0       0

VM पर acl पैकेज स्थापित किया गया है।

जब मैं सिम्फनी 2 के निर्देशों के अनुसार निम्नलिखित / var / www चलाता हूं:

 sudo setfacl -R -m u:apache:rwx -m u:username:rwx app/cache app/logs

मुझे मिला:

ऑपरेशन समर्थित नहीं है

मैं FS (साझा निर्देशिका के बाहर) पर किसी भी अन्य निर्देशिका या फ़ाइल पर कमांड चला सकता हूं और कमांड काम करता है। क्या देता है?


इससे वास्तविक समस्या का समाधान नहीं हुआ, लेकिन इस कार्य को अभी के लिए निष्पादित किया गया: stackoverflow.com/questions/7357120/…
जोश नानकिन

जवाबों:


6

Symfony2 और Vagrant के साथ सभी अनुमति समस्याओं को बायपास करने के लिए, सबसे आसान उपाय उपयोगकर्ता और समूह को अपाचे को योनि में बदलना है। ऐसा करने के लिए, फ़ाइल / etc / apache2 / envvars को संपादित करें और इन के साथ लाइनों 16 और 17 को प्रतिस्थापित करें: निर्यात APACHE_RUN_USER = योनि निर्यात APACHE_RUN_GROUP = योनि ध्यान दें कि ये निर्देश उबंटू पर अपाचे 2.2 के लिए हैं, अपने अपाचे और ओएस संस्करण को करने के लिए देखें। इसलिए।

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


3

एक बेहतर समाधान विशेषता ओवरराइडिंग का उपयोग कर रहा है। Opscode Wiki देखें ।

एक भूमिका में उदाहरण के लिए

override_attributes({
    "apache" => {
      "user" => "vagrant",
      "group" => "vagrant"
    }
})

मुझे एक साझा फ़ोल्डर में टाइपो 3 के साथ एक ही समस्या थी, अस्थायी फ़ाइलों को बनाने में विफल।

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