uruchomienie setfacl w włóczącym się katalogu współdzielonym

10

Próba uruchomienia projektu Symfony2 z działającą maszyną wirtualną. Widziałem na ten temat zillion artykułów, ale poprawne zezwolenie na katalog pamięci podręcznej okazuje się bolesne.

W moim Vagrantfile:

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

fstabPlik mojej maszyny wirtualnej :

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

Pakiet acl został zainstalowany na maszynie wirtualnej.

Kiedy uruchomię następujące w / var / www zgodnie z instrukcjami instalacji Symfony2:

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

Dostaję:

Operacja nie jest obsługiwana

Mogę uruchomić polecenie w dowolnym innym katalogu lub pliku na FS (poza udostępnionym katalogiem) i polecenie działa. Co daje?

Josh Nankin
źródło
To nie rozwiązało rzeczywistego problemu, ale na razie wykonało tę pracę: stackoverflow.com/questions/7357120/…
Josh Nankin

Odpowiedzi:

6

Aby ominąć wszystkie problemy z uprawnieniami w Symfony2 i Vagrant, najłatwiejszym rozwiązaniem jest zmiana użytkownika i grupy uruchomionych apache na włóczęgę. Aby to zrobić, edytuj plik / etc / apache2 / envvars i zamień wiersze 16 i 17 na te: eksport APACHE_RUN_USER = włóczęga eksport APACHE_RUN_GROUP = włóczęga Zauważ, że te instrukcje dotyczą apache 2.2 na Ubuntu, zapoznaj się z wersją apache i systemu operacyjnego więc.

Jeśli nie chcesz zmieniać użytkownika i grupy Apache, możesz także zamontować ramdysk i umieścić na nim swój projekt symfony. Następnie włóczęga może zmodyfikować uprawnienia na tym dysku. Zobacz ten link, aby uzyskać instrukcje na temat montowania ramdysku.

jfcartier
źródło
3

Lepszym rozwiązaniem jest zastąpienie atrybutów. Zobacz Wiki Opscode .

Na przykład w definicji ról:

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

Miałem ten sam problem z Typo3 w folderze współdzielonym, nie udało mi się utworzyć plików tymczasowych.

Martin Lauer
źródło