กำลังรัน setfacl ในไดเรกทอรีที่ใช้ร่วมกันคนจรจัด


10

กำลังพยายามทำให้ Symfony2 โปรเจ็กต์ทำงานและรันด้วย VM ที่เร่าร้อน ฉันเคยเห็นบทความ zillion เกี่ยวกับเรื่องนี้แล้ว แต่การได้รับอนุญาตให้ใช้แคชไดเรกทอรีอย่างถูกต้องเป็นการพิสูจน์ว่าเจ็บปวดอย่างเลือดตาแทบกระเด็น

ในของฉันVagrantfile:

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

fstabไฟล์VM ของฉัน:

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

แพ็คเกจ acl ได้รับการติดตั้งบน VM แล้ว

เมื่อฉันเรียกใช้ต่อไปนี้ใน / var / www ตามทิศทางการติดตั้ง Symfony2:

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

ฉันเข้าใจ:

ไม่รองรับการทำงาน

ฉันสามารถเรียกใช้คำสั่งในไดเรกทอรีหรือไฟล์อื่น ๆ บน FS (นอกไดเรกทอรีที่ใช้ร่วมกัน) และคำสั่งใช้งานได้ สิ่งที่ช่วยให้?


สิ่งนี้ไม่ได้แก้ปัญหาที่เกิดขึ้นจริง แต่ดำเนินการแก้ปัญหาในตอนนี้: stackoverflow.com/questions/7357120/…
Josh Nankin

คำตอบ:


6

ในการหลีกเลี่ยงปัญหาการอนุญาตทั้งหมดกับ Symfony2 และ Vagrant วิธีที่ง่ายที่สุดคือเปลี่ยนผู้ใช้และกลุ่มที่ใช้ apache เป็นคนพเนจร หากต้องการทำเช่นนั้นให้แก้ไขไฟล์ / etc / apache2 / envvars และแทนที่บรรทัดที่ 16 และ 17 ด้วยสิ่งเหล่านี้: ส่งออก APACHE_RUN_USER = การส่งออกคนจรจัด APACHE_RUN_GROUP = คนจรจัดโปรดทราบว่าคำแนะนำเหล่านี้ใช้สำหรับ apache 2.2 บน Ubuntu ดังนั้น.

หากคุณไม่ต้องการเปลี่ยนผู้ใช้และกลุ่มของ apache คุณสามารถติด ramdisk และวางโครงการ symfony ของคุณ จากนั้นคนเร่ร่อนสามารถปรับเปลี่ยนการอนุญาตในดิสก์นี้ได้ ดูลิงค์นี้สำหรับคำแนะนำเกี่ยวกับวิธีการติด ramdisk


3

ทางออกที่ดีกว่าคือการใช้การแทนที่แอตทริบิวต์ ดูOpscode วิกิพีเดีย

ตัวอย่างเช่นในการกำหนดบทบาท:

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

ฉันมีปัญหาเดียวกันกับ Typo3 ในโฟลเดอร์แชร์ไม่สามารถสร้างไฟล์ชั่วคราวได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.