Permissions 应用程序可以';t使用Vagrant创建可写文件夹

Permissions 应用程序可以';t使用Vagrant创建可写文件夹,permissions,vagrant,file-permissions,Permissions,Vagrant,File Permissions,我从Vagrant的官方Precise64框中配置了自己的基本Vagrant框。我的同步文件夹位于“/var/www”,公用文件夹位于“/var/www/public” 对于“/var/www”,我的权限是: drwxr-xr-x 1 vagrant vagrant drwxr-xr-x 1 vagrant vagrant 对于“/var/www/public”,我的权限是: drwxr-xr-x 1 vagrant vagrant drwxr-xr-x 1 vagrant v

我从Vagrant的官方Precise64框中配置了自己的基本Vagrant框。我的同步文件夹位于“/var/www”,公用文件夹位于“/var/www/public”

对于“/var/www”,我的权限是:

drwxr-xr-x  1 vagrant vagrant 
drwxr-xr-x  1 vagrant vagrant
对于“/var/www/public”,我的权限是:

drwxr-xr-x  1 vagrant vagrant 
drwxr-xr-x  1 vagrant vagrant
为了说明我的问题,在WordPress应用程序中,我手动将上传权限设置为777。WordPress能够在当月的上传中创建一个文件夹,例如“/var/www/public/wp content/uploads/10/”;但是,除非我再次手动将新创建的“10”文件夹的权限更改为可写,否则它无法上载或写入刚刚创建的文件夹

这在所有应用程序中都会发生,例如Laravel的“存储”文件夹,并且基本上在程序试图创建目录的任何时候都会发生。在设置期间尝试强制在Vagrant上设置权限也不起作用:

config.vm.synced_folder "/path/to/writable/folder", "/path/to/writable/folder", :mount_options => ["dmode=777","fmode=666"]

那么,我需要在虚拟服务器上设置哪些权限才能使其工作?

我在Vagrant中使用了WordPress和Laravel,并在Vagrant文件中设置了写入权限:

config.vm.synced_文件夹“,”/vagrant“,:mount_options=>['dmode=774','fmode=775']

并将默认Apache用户添加到
vagrant
组(我使用shell配置):


usermod-a-G vagrant www-data

尝试将以下行添加到您的vagrant文件中:

config.vm.synced_folder ".", "/vagrant", :group => "www-data", :mount_options => ['dmode=775','fmode=664']

为了扩展的答案,当使用homestead(因此homestead.yaml)时,您可以像这样传递这些选项

folders:
- map: ./
  to: /home/vagrant/code
  options:
    mount_options: ['dmode=777','fmode=777']

基于和

这是可行的。对于我的例子,“config.vm.synced_folder”。“/var/www”,:mount_options=>[“dmode=777”,“fmode=666”]”也在工作。谢谢这难道不能让流浪汉的所有文件夹都可以写吗?如果要使特定文件夹可写,该怎么办。我正在考虑只将/cache文件夹设置为可写文件夹,其余文件夹保持原样。对于希望使用此功能的Homestead用户:您能否详细说明您的答案,并添加有关您提供的解决方案的更多描述?