内流浪者主文件夹无法更改文件夹的权限内流浪者主文件夹无法更改文件夹的权限(Cannot change

2019-05-12 23:16发布

当我ssh到我的无业游民虚拟机,我可以改变上面和外面流浪的用户文件夹的文件和文件夹的权限,并为流浪者的用户文件夹内的文件。 但改变不了流浪用户文件夹下的文件夹的权限。 我是否登录的用户流浪者和根同样的问题。

是否有某种限制对流浪用户的文件夹更改权限? 流浪用户文件夹不与主机OS共享,但Capistrano的部署文件夹和文档根是。

客人是CentOS 6的,主机是OS X 10.7。 流浪是1.0.5。 VirtualBox是4.2.1。

Answer 1:

对于在不同版本的流浪共享文件夹的格式会改变。 见法比奥的答案https://serverfault.com/questions/398414/vagrant-set-default-share-permissions

流浪1.3.1版本及更早版本

config.vm.share_folder "v-data", "/export", "/export", :owner => 'vagrant', :group => 'httpd', :extra => 'dmode=775,fmode=775'

流浪1.3.1版本,1.3.2

在流浪1.3.1及更高版本, extra选项已被替换mount_options一个期望的数组。

config.vm.share_folder "v-data", "/export", "/export", :owner => 'vagrant', :group => 'httpd', :mount_options => ['dmode=775', 'fmode=775']

流浪版本> = 1.3.3

在流浪者1.3.3似乎config.vm.share_folder已被替换config.vm.synced_folder

config.vm.synced_folder "v-data", "/export", "/export", :owner => 'vagrant', :group => 'httpd', :mount_options => ['dmode=775', 'fmode=775']



Answer 2:

我的问题可能与你的。

我在游民作为来宾和Win7作为主机CentOS的VM。

我不能真正改变与该主机共享任何文件夹中的虚拟机的权限。

如果我发现什么有用的东西会报到。 论在这里谷歌组:

https://groups.google.com/forum/?fromgroups=#!topic/vagrant-up/2JvcoZTuWRI

更新1:我也看到了,你不能创建共享文件夹中的符号链接。

更新2:看起来它已经创建之后我无法改变的虚框的权限。 然而,在VagrantFile您可以设置共享文件夹的东西,套房权限:IE

config.vm.share_folder "v-data", "/export", "/export", :owner=> 'vagrant', :group=>'httpd', :extra => 'dmode=775,fmode=775'

在这里我已经设置了所有者,组和为我们工作的权限。

我希望这有帮助。



Answer 3:

在流浪1.2.7,版本2个Vagrantfiles被使用,所以,语法比以前的答案稍有不同。 下面是什么做的伎俩,我在CentOS 6.2。 我发现,使用相对路径为源最适合在我的处境。 它指向的共享文件夹。

config.vm.synced_folder "./", "/vagrant", owner: 'vagrant', group: 'apache', extra: 'dmode=775,fmode=775'

正如杰米说,它仍然是必要的,你创建之前对其进行配置,所以用一个vagrant reload编辑完你的覆盖Vagrantfile后。



Answer 4:

VirtualBox的不允许更改所有者/权限同步文件夹。

你可以在流浪文件改变(由他人作为回答)。
考虑更改所有者而非组。
也是考虑 - 如果这样做,你的服务器可以写入文件 - 您的服务器可能称为WWW的数据,而不是httpd的。 使用ps aux | grep nginx ps aux | grep nginx [或阿帕奇/ lighthttpd]检查。

还有一些其他的选项:

  • 改变正在访问共享文件,而不是同步文件夹的程序的所有者。
    例如,如果PHP需要写入文件,更改服务器和PHP为无业游民运行。 [在Apache中,这是在httpd.conf完成。 NGINX的用户在nginx.conf设置,PHP-FPM的用户是在PHP-fpm.conf或它包括文件之一。
    您需要更改的Apache锁定文件(在/ var /锁/ Apache2的)或者PHP的WebSocket文件(/var/run/php5-fpm.sock)和Web服务器的权限。
  • 使用不同的虚拟机(Hyper-V的,VMware的),而不是VirtualBox的。 其他虚拟机的好像还没有这种限制。
  • 使用RSYN,而不是同步使用默认的同步的文件。
    config.vm.synced_folder "/var/www/", type: "rsync"
  • 将所有的权限为777。通常这会灾难性的,甚至没有一个建议。 它仍然是一个坏主意,但在虚拟机上可能是可行的。 虽然给共享访问之前三思而后行。
    config.vm.synced_folder "/var/www/", mount_options: ["dmode=777", "fmode=666"]

这些答案被更好地描述瑞安Sechreset和杰里米·肯德尔 。



Answer 5:

更改权限,形成主机不是客户。 VirtualBox的不允许上的共享文件更改权限,形成一个客户机操作系统。

TLDR; 这个问题是不是在你的来宾用户没有权限来访问你的主机文件。 问题是你的主机上的virtaul箱过程的执行用户没有权限写在主机上的文件。 有两组权限。 来宾的权限必须设置就像任何其他的操作系统。 您还必须确保您的来宾操作系统中运行的虚拟框进程有权限到该文件夹​​。 如果该过程只具有读权限的几乎任何访客用户将能够做的是阅读。



Answer 6:

无法发表评论,只是还没有,但对MDeSilva的答案流浪1.7.2扩展:

可能是明显一些,但该集团和拥有者应该是在引号。

group: "sync_group", owner: "sync_owner", mount_options: ['dmode=755, fmode=644']


Answer 7:

对于流浪1.7.2编辑文件流浪汉这样,

group: sync_group, owner: sync_owner, mount_options: ['dmode=777', 'fmode=776']


文章来源: Cannot change permissions of folders within vagrant home folder