gpt4 book ai didi

virtualbox - Vagrant:是否可以在 guest 内部共享文件和更改权限?

转载 作者:行者123 更新时间:2023-12-03 14:40:46 27 4
gpt4 key购买 nike

一个半星期以来,我一直在努力研究如何使用 Vagrant 和 VirtualBox 在主机和 guest 之间正确共享文件。

我需要实现的是一个自动配置框,它可以从 github 下载我们的代码库。代码库权限需要因文件而异(PHP 文件、shell 脚本、tmp 文件夹、日志文件夹等)。代码库文件也需要可以从主机框中访问以进行编辑。

到目前为止,我已经尝试过普通的 virtualbox 共享、NFS 共享、与 bindFS 的 NFS 共享。这些似乎都不允许更改单个文件权限。

这似乎是 Vagrant 的绝对亮点。老实说,我不明白 Vagrant 如何用于共享开发环境。

有谁知道如何正确设置它?甚至可能吗?

以供引用:

  • 主机操作系统:Ubuntu 12.04
  • guest 操作系统:Debian 6(挤压)
  • Vagrant :1.2.2
  • 虚拟机:4.2.12
  • 最佳答案

    这里有几个部分答案,但我想让人们更容易找到这个问题,这样他们就不必尝试将这些部分答案组合成一个的各种方法。

    这是我使用的,对我来说效果很好。因为在 <code> 中使用斜体很难或不可能。 block ,我已将您要更改的位放入 <angled brackets> .

    config.vm.synced_folder ".", "/var/www/vhosts/<project_name>", 
    id: "project",
    owner: <username>,
    group: <group_name>,
    mount_options: ["dmode=775,fmode=664"]

    或者可能(取决于您使用的 CIFS/SMB 版本):
        mount_options: ["dir_mode=775,file_mode=664"]

    如果没有所有者和组,Vagrant 将使用 config.ssh.username 的值(当盒子启动时)作为所有者和组。通过使用上述配置,您可以控制分配给共享文件夹的所有者和组,因为登录到 VM 并尝试使用 chgrpchown不起作用。

    没有 mount_options ,您将无法控制授予所有者和组(以及其他人)的权限。即使这是一个虚拟机,您也可以争辩说可以使用 777对于这些权利,我不推荐它,因为这是一个坏习惯,如果您不小心,您很可能会将其带入生产环境,从而削弱您的生产安全性。但显然您可以更改 775664我习惯了你想要的任何东西。如果您不知道这些是什么意思,请谷歌“Linux 文件权限”。

    您可以(出于习惯)在分隔 mount_options 的逗号后插入一个空格。大批。不。它不适用于逗号。
    id可以是任何你想要的。

    关于virtualbox - Vagrant:是否可以在 guest 内部共享文件和更改权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17461520/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com