ชุดสิทธิ์ใช้งานเริ่มต้นของ Vagrant ตั้งค่าไว้


32

เมื่อเรียกใช้อินสแตนซ์คนจรจัดโฟลเดอร์โครงการจะถูกเมาท์/vagrantโดยอัตโนมัติ อย่างไรก็ตามมีการติดตั้งด้วยสิทธิ์ต่อไปนี้

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

ฉันต้องการให้ติดตั้งด้วย (อย่างน้อย) 0770 แต่หาไม่เจอ ถ้าฉันรันคำสั่ง mount ฉันเห็นผลลัพธ์นี้

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

ฉันได้พยายามทั้งสองchmodและchown/chgrpแต่พวกเขาจะไม่ทำงานในที่ติดตั้งโฟลเดอร์เพื่อให้ผู้ใช้ Apache ฉันไม่สามารถเข้าถึงโฟลเดอร์ ฉันอ่านในคู่มือ Vagrantที่ฉันสามารถเปลี่ยนเจ้าของและกลุ่ม แต่ไม่ได้พูดถึงการอนุญาต

ฉันจะทำสิ่งนั้นได้อย่างไร

ตัวเลือกอื่นอาจเปลี่ยนเป็น NFS แต่ด้วยวิธีนี้มันจะไม่ทำงานบนแพลตฟอร์ม Windows และต้องแก้ไข/etc/exportsไฟล์ในเครื่องและจะต้องมีสิทธิ์ใช้งานรูทและมันก็ค่อนข้างน่ารำคาญด้วยดังนั้นฉันไม่ต้องการทำการเปลี่ยนแปลงนี้

คำตอบ:


53

แก้ไขด้วยบรรทัดนี้ใน Vagantfile ของฉันสำหรับ v1.3.2 และใหม่กว่า:

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

ไวยากรณ์ก่อนรุ่น 1.2:

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

เครดิต: http://ubuntuforums.org/showthread.php?t=1434884

สำหรับ Vagrant 1.2 ไวยากรณ์ที่ถูกต้องคือ:

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

เครดิต: Aal

สำหรับ v1.3.2 และใหม่กว่าการตั้งค่าสถานะ 'พิเศษ' ในโฟลเดอร์ที่ซิงค์ถูกเปลี่ยนเป็น 'mount_options' ตัวเลือกจะต้องอยู่ในอาร์เรย์ที่มีตัวเลือกแต่ละตัวเป็นสตริงแยกต่างหาก (ต่างจากตัวเลือกทั้งสองที่อยู่ในสตริงเดียวในเวอร์ชันก่อนหน้า)


6
Dunno ทำไม แต่ฉันต้องการรูปแบบที่แตกต่างกันเล็กน้อย:config.vm.synced_folder ".", "/vagrant", :extra => "dmode=777,fmode=666"
Paul Voss

1
+1 Aal และ +1 Fabio: share_folder เป็น pre-Vagrant v1.2, synced_folder คือ Vagrant v1.2 และหลังจากนั้น ฉันใช้ puphpet.com เพื่อสร้างรายการของฉัน แต่ต้องทำการปรับเปลี่ยนนี้ใน Vagrantfile
therobyouknow

2
config.vm.synced_folder ".", "/ คนจรจัด",: mount_options => ["dmode = 777, fmode = 666"] ทำงานให้ฉันใน v1.3.2
Nobu

3
ใน Vagrant 1.4.3 ไวยากรณ์จะแตกต่างกันเล็กน้อยอีกครั้ง การเปลี่ยนแปลงต่อไปนี้สำหรับ Vagrantfile ใช้งานได้สำหรับฉัน: config.vm.synced_folder "# {folder ['source']}", "# {โฟลเดอร์ ['target']}", id: "# {folder ['id']} ", ประเภท: nfs, mount_options: [" dmode = 777 "," fmode = 666 "]
ChezFre
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.