chạy setfacl trên một thư mục chia sẻ


10

Đang cố gắng để có được một dự án Symfony2 và chạy với một VM mơ hồ. Tôi đã thấy một trăm triệu bài viết về điều này, nhưng việc cho phép thư mục bộ nhớ cache được cho phép một cách chính xác đang chứng tỏ là rất đau đớn.

Trong tôi Vagrantfile:

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

fstabTệp VM của tôi :

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

Gói acl đã được cài đặt trên VM.

Khi tôi chạy các lệnh sau trong / var / www theo hướng dẫn cài đặt Symfony2:

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

Tôi có:

Hoạt động không được hỗ trợ

Tôi có thể chạy lệnh trên bất kỳ thư mục hoặc tệp nào khác trên FS (bên ngoài thư mục dùng chung) và lệnh hoạt động. Đưa cái gì?


Điều này không giải quyết được vấn đề thực tế, nhưng đã thực hiện công việc này ngay bây giờ: stackoverflow.com/questions/7357120/ Kẻ
Josh Nankin

Câu trả lời:


6

Để bỏ qua tất cả các vấn đề về quyền với Symfony2 và Vagrant, giải pháp đơn giản nhất là thay đổi người dùng và nhóm chạy apache thành vagrant. Để làm như vậy, hãy chỉnh sửa tệp / etc / apache2 / envvars và thay thế các dòng 16 và 17 bằng các tệp này: export APACHE_RUN_USER = vagrant export APACHE_RUN_GROUP = vagrant Lưu ý rằng các hướng dẫn này dành cho apache 2.2 trên Ubuntu, hãy tham khảo phiên bản apache của bạn vì thế.

Nếu bạn không muốn thay đổi người dùng và nhóm apache, bạn cũng có thể gắn ramdisk và đặt dự án symfony của bạn lên đó. Sau đó vagrant có thể sửa đổi các quyền trên đĩa này. Xem liên kết này để được hướng dẫn về cách gắn ramdisk.


3

Một giải pháp tốt hơn là sử dụng Ghi đè thuộc tính. Xem Wiki Opscode .

Ví dụ trong một định nghĩa vai trò:

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

Tôi gặp vấn đề tương tự với Typo3 trong Thư mục dùng chung, không tạo được tệp tạm thời.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.