我已经在我的Vagrant VM中使用NFS挂载数月而没有任何问题来运行我们的puppet配置。正如您所知,每次使用puppet创建文件夹时,您必须指定其所有者和组,否则将使用默认值。我们已将默认设置为root:root 由于某种原因,也适用于其他一些文件/目录。
Puppet尝试chown
文件 root:root 而失败但不应该因为 chown退出0 而没有更改所有者或组。 NFS和VirtualBox共享上的行为相同,但 puppet仅在使用NFS 共享时失败。
问题是 - 有没有合理的解释为什么木偶在改变文件的所有权时开始失败?它曾经工作了几个月,我仍然运行相同版本的 Vagrant 和 VirtualBox 。
我发现了很多关于类似问题(更改所有权)的问题,并发现所有者和群组都没有改变。我只是不知道为什么puppet因为这个只在NFS上失败。
config.vm.synced_folder "../puppet", "/root/puppet", type: "nfs", mount_options: ["rw", "tcp", "fsc", "nolock", "noacl", "async"], nfs_udp: false
config.vm.synced_folder ".", "/media/src/project", type: "nfs", mount_options: ["rw", "tcp", "fsc", "nolock", "noacl", "async"], nfs_udp: false
Info: Applying configuration version '1471704237'
Notice: /Stage[main]/Farm_tooling::Webgrind/Exec[configure]/returns: executed successfully
Notice: /Stage[main]/Ulozto::Web::Lab/File[/media/src/ulozto/.local/]/owner: owner changed '501' to 'root'
Error: Failed to set group to '0': Operation not permitted @ lchown_internal - /media/src/ulozto/.local
Error: /Stage[main]/Ulozto::Web::Lab/File[/media/src/ulozto/.local/]/group: change from dialout to root failed: Failed to set group to '0': Operation not permitted @ lchown_internal - /media/src/ulozto/.local
Info: Applying configuration version '1471704248'
Notice: /Stage[main]/Farm_tooling::Webgrind/Exec[configure]/returns: executed successfully
Notice: /Stage[main]/Ulozto::Web::Lab/File[/media/src/ulozto/.local/]/owner: owner changed 'vagrant' to 'root'
Notice: /Stage[main]/Ulozto::Web::Lab/File[/media/src/ulozto/.local/]/group: group changed 'vagrant' to 'root'
Notice: /Stage[main]/Ulozto::Pornfile::Remote/File[/var/www/pornfile-web/PornFile/App]/owner: owner changed 'vagrant' to 'root'
drwxr-xr-x 4 501 dialout 136 Aug 19 05:40 .local
我实际上不知道拨号是什么,但501是我的帐户的ID - uid=501(northys)
。木偶经营者之后仍然是一样的。
drwxr-xr-x 1 vagrant vagrant 136 Aug 19 05:40 .local
在木偶运行所有者和组仍然是vagrant:vagrant
之后,但木偶并没有像在NFS装载情况下那样更改它。
答案 0 :(得分:1)
在我的VagrantFile中,我将其添加到映射中以使其工作:
:linux__nfs_options => ["no_root_squash"], :map_uid => 0, :map_gid => 0