Depois de horas de trabalho, descobri minha própria solução. O problema de permissões está relacionado a como o VirtualBox monta os sistemas de arquivos do host. Meu sistema de arquivos host é ntfs nessa situação. Apesar de quaisquer comandos que tentem alterar as permissões de volume, as permissões permanecerão com root como proprietário e as permissões serão definidas como 770.
-
Instale o pacote de adições de convidado em sua máquina virtual. Crie uma nova pasta compartilhada com apenas "tornar permanente" marcada. NÃO marque a caixa de montagem automática. Além disso, não tenho certeza se isso é necessário, mas também instale o pacote de expansão para o VirtualBox em seu sistema operacional host.
-
Crie um diretório na máquina convidada (o sistema operacional em execução no VirtualBox).
-
Crie um arquivo
.sh
com o seguinte script bash:sleep 1 echo '[your password]' | sudo -S mount -t vboxsf -o rw,uid=1000,gid=1000 [share name] [path to the directory created in the previous step]
-
Navegue até o gerenciador de "aplicativos de inicialização" e crie uma nova inicialização com o comando:
xterm -e "/path/to/script/in/previous/step"
-
Defina a permissão do arquivo como executável:
chmod +x [file name]
. - Instale o xterm
sudo apt-get install xterm
.
Eu percebo o risco de segurança de "entrar" na senha do sudo. No entanto, nesta situação, eu sou o único com acesso ou desejo de executar essa máquina virtual. Eu considerei o risco baixo. Avalie sua situação antes de recorrer a essa solução. Além disso, lembro de ter lido que adicionar um espaço antes do comando impedirá que a linha de comando armazene esse comando na lista de histórico.
Esta solução funcionou para mim no Ubuntu 18LTS. Estou ciente dos trabalhos rc.local e chron, mas estes variam entre as versões de distribuição e parecia um tipo de acerto ou erro. rc.local nem existe na minha instalação e criar o arquivo manualmente não realizou nada.