Estou executando um script que cria um link rígido entre dois arquivos. Isso é feito dentro de uma pasta compartilhada em uma máquina virtual, que está executando o Ubuntu 16.04. Dentro da pasta compartilhada está o código-fonte de um programa, que não compila nas versões do Ubuntu de 16.04 e acima. Esta configuração permite-me editar o conteúdo da pasta compartilhada na minha máquina host (Ubuntu 18.04) e compilar as alterações na minha máquina virtual. Veja como eu montei minha pasta compartilhada, tirada de aqui :
sudo mount -t vboxsf -o rw,uid=1000,gid=1000 shared ~/host
Eu também modifiquei a máquina virtual para permitir links simbólicos, de acordo com esta :
VBoxManage setextradata VM_NAME VBoxInternal2/SharedFoldersEnableSymlinksCreate/SHARE_NAME 1
Dentro da máquina virtual, tenho permissão para criar links simbólicos, mas a criação de links físicos falha:
$ touch test
$ ln -s test test2
$ ls -all test2
lrwxrwxrwx 1 $USER $USER 4 Spa 23 12:43 test2 -> test
$ rm test2
$ ln test test2
ln: failed to create hard link 'test2' => 'test': Operation not permitted
Resultado de ls -l
na minha pasta compartilhada:
drwxr-xr-x 1 kristupas kristupas 4096 Spa 23 12:40 host