2016-03-04 18 views
5

Tôi đã thiết lập thư mục được đồng bộ hóa trong Vagrant, từ máy chủ Windows của tôi cho khách. Ban đầu các quyền trên các tệp đã quá mở nên tôi đã thêm các tùy chọn gắn kết sau đây:Quyền truy cập thư mục được đồng bộ hóa theo ngữ cảnh

config.vm.synced_folder "../my-folder", "/home/vagrant/my-folder", 
    mount_options: ["dmode=775,fmode=664"] 

Tuy nhiên, tôi cần thêm quyền thực thi trên một tệp trong thư mục này. chmod +x file không có hiệu lực. Có cách nào để cho phép một mục trong thư mục được chia sẻ có thể thực thi/có các quyền khác nhau đối với phần còn lại của các mục trong thư mục không?

Trả lời

7

Cuối cùng, tôi đã đưa ra hai giải pháp:

1) Chấp nhận tất cả các file được thực thi

config.vm.synced_folder "../my-folder", "/home/vagrant/my-folder", 
    mount_options: ["dmode=775,fmode=777"] 

2) Sử dụng các phương pháp rsync để đồng bộ hóa các thư mục

config.vm.synced_folder "../ansible-provision", "/home/vagrant/ansible", type: "rsync", 
    rsync__exclude: ".git/" 

Mỗi phương pháp đều có những hạn chế riêng, nhưng phương pháp đầu tiên nhanh nhất để triển khai và chấp nhận được đối với trường hợp sử dụng của tôi, vì vậy tôi đã thực hiện điều đó.

1

Tôi gặp sự cố tương tự với quyền đối với thư mục. Tôi đang sử dụng VirtualBox trên Mac OSX. Tôi đã thêm tùy chọn chủ sở hữu và nhóm đã khắc phục sự cố không thể ghi vào thư mục bộ nhớ cache trên máy chủ. Cập nhật để bao gồm các chế độ thư mục và tệp.

srv.vm.synced_folder server["synced_folder"]["src"], server["synced_folder"]["dest"], create: true, group:'vagrant', owner:'www-data', mount_options: ["dmode=775,fmode=664"] 
+0

Giải pháp này có thể không hoạt động đối với việc khởi tạo mới lý do vì người dùng và/hoặc nhóm tùy chỉnh có thể không tồn tại trong hộp. – MingalevME

Các vấn đề liên quan