Frage Vagrant hat die standardmäßigen Freigabeberechtigungen festgelegt


Wenn eine Vagrant-Instanz ausgeführt wird, wird der Projektordner aktiviert /vagrant automatisch. Allerdings ist mit den folgenden Berechtigungen eingehängt

# ll -d /vagrant
drwx------ 1 vagrant vagrant 612 Jun 13 14:41 /vagrant/

Ich muss es mit (mindestens) 0770 montiert werden, aber ich kann nicht finden, wie. Wenn ich den Mount-Befehl ausführe, sehe ich diese Ausgabe

# mount
v-root on /vagrant type vboxsf (uid=1000,gid=100,rw)

Ich habe beides ausprobiert chmod und chown/chgrp, aber sie funktionieren nicht in diesem angehängten Ordner, so dass mein Apache-Benutzer nicht auf diesen Ordner zugreifen kann. ich Lesen Sie in Vagrant Handbuch dass ich Besitzer und Gruppe ändern kann, aber nichts über die Erlaubnis erwähnt.

Wie kann ich das machen?

Eine andere Option könnte sein, zu NFS zu wechseln, aber auf diese Weise funktioniert es nicht auf Windows-Plattformen und es muss lokal bearbeitet werden /etc/exports Datei und es würde root-Berechtigungen erfordern und es ist auch ziemlich nervig, also würde ich es vorziehen, diese Änderung nicht vorzunehmen.


31
2018-06-13 18:32


Ursprung




Antworten:


Gelöst mit dieser Zeile in meiner Vagantdatei, für v1.3.2 und später:

config.vm.synced_folder ".", "/vagrant", :mount_options => ["dmode=777","fmode=666"]

Syntax vor Version 1.2:

config.vm.share_folder("v-root", "/vagrant", ".", :extra => 'dmode=770,fmode=770')

Credits: http://ubuntuforums.org/showthread.php?t=1434884

Für Vagrant 1.2 war die richtige Syntax:

config.vm.synced_folder ".", "/vagrant", :extra => "dmode=777,fmode=666"

Credits: Aal

Für v1.3.2 und höher wurde das Flag "extra" im synchronisierten Ordner in "mount_options" geändert. Die Optionen müssen sich in einem Array mit jeder Option als separate Zeichenfolge befinden (im Gegensatz zu beiden Optionen in früheren Versionen in einer einzelnen Zeichenfolge)


53
2018-06-15 17:30



Weiß nicht warum, aber ich brauche eine etwas andere Syntax: config.vm.synced_folder ".", "/vagrant", :extra => "dmode=777,fmode=666" - Paul Voss
+1 Aal und +1 Fabio: share_folder ist pre-Vagrant v1.2, synced_folder ist Vagrant v1.2 und after. Ich benutze puphpet.com, um mein Manifest zu generieren, musste aber diese Anpassung in der Vagrantfile vornehmen. - therobyouknow
config.vm.synced_folder ".", "/ vagrant",: mount_options => ["dmode = 777, fmode = 666"] funktionierte für mich auf v1.3.2. - Nobu
In Vagrant 1.4.3 ist die Syntax wieder ein wenig anders. Die folgende Änderung an Vagrantfile funktionierte für mich: config.vm.synced_folder "# {ordner ['source']}", "# {ordner ['ziel' ']}", id: "# {ordner [' id ']} ", geben Sie ein: nfs, mount_options: [" dmode = 777 "," fmode = 666 "] - ChezFre