Desculpe pelos erros de linguagem que cometi. Estou tentando impedir que vagrant solicite a senha ao montar pastas compartilhadas pelo NFS:
[server] Exporting NFS shared folders...
Preparing to edit /etc/exports. Administrator privileges will be required...
[sudo] password for timur: #!!!
Eu tenho muitos recursos on-line, como o github e as postagens de outros autores, mas nada funciona para mim ...
Eu tentei as instruções foram encontradas aqui . Eu não tenho um conhecimento profundo do cli. Alguém poderia dar a solução correta para o meu problema?
command-line
virtualbox
sudo
nfs
vagrant
Timur Fayzrakhmanov
fonte
fonte
nfs-server
instalado em sua máquina.Respostas:
Os documentos oficiais do Vagrant agora cobrem isso: https://www.vagrantup.com/docs/synced-folders/nfs.html#root-privilege-requirement
Você precisa adicionar entradas ao
/etc/sudoers
arquivo e a maneira de editar isso é digitar isso no terminal:sudo visudo
Digite sua senha e você estará editando o arquivo. Você deseja colar essas linhas abaixo (dependendo de estar executando o Vagrant no OS X ou Linux.
Se você não estiver familiarizado com o vim , que é aberto, esta página ajudou . Basicamente, copie o bloco de texto apropriado abaixo. Em seguida, no visudo, vá para o local em que deseja colar o texto no arquivo (o final do arquivo está correto) e pressione "i" para entrar no modo de inserção. CMD + V para colar seu texto. Em seguida, pressione ESC e digite
:w
para salvar suas alterações e:q
sair.A partir da versão 1.7.3 , o arquivo sudoers no OS X deve ter as seguintes entradas:
E o Linux deve ter estas entradas:
Observe que eles mudam de uma versão do Vagrant para outra, portanto, as opções acima podem estar desatualizadas. O importante é que os documentos agora o abordem.
fonte
/var/log/auth.log
apenas contenha comandos listados lá e posso verificar manualmente se as permissões do sudo estão funcionando./etc/sudoers.d
para evitar conflitos futuros ao atualizar o sistema operacional. No Ubuntu:sudo visudo -f /etc/sudoers.d/vagrant-nfs
ou OSX:sudo visudo -f /private/etc/sudoers.d/vagrant-nfs
sudo EDITOR=nano visudo
comando, que permite ignorar o vim completamente.Os comandos exatos podem mudar entre as versões do Vagrant, por isso é impossível listar os que sempre funcionariam.
Enfim, as regras dos sudoers nessa essência ainda devem estar bem próximas. Confira /var/log/auth.log se ele revelar os comandos reais da sua versão do Vagrant e adapte as regras de acordo.
fonte
Para qualquer pessoa que faça isso no OSX (eu estou no MacOS Sierra versão 10.12.6), tive dificuldades com as permissões, mesmo depois de adicionar essas linhas. Este post realmente ajudou:
Basicamente, é o fato de você não ter permissões definidas para essa pasta. Então você precisa executar:
fonte
adicionando
, nfs_export: false
no final doconfig.vm.synced_folder
linhas no arquivo Vagrant, resolvi isso para mim.Se você já possui um nfs-config funcional e não precisa do seu Vagrant sobrescrevê-lo toda vez que iniciar, basta desativar a gravação no arquivo de exportação.
Isso também resolve o problema da colisão, se você tiver mais de um Vagrant tentando acessar a mesma pasta, como por exemplo, dois Vagrants quase idênticos, um executando o php 5.6 e outro executando o php 7.2.
fonte
TL&DR: adicione o seguinte override.vm.synced_folder ".", "/ Vagrant", desativado: true
Racional: Por padrão, o Vagrant tenta detectar qualquer pasta NFS / SMB. Embora eu possa entender por que os desenvolvedores adicionaram esse recurso, para o meu caso de uso isso é muito irritante. A solução é simplesmente DESATIVAR a sincronização de pastas NFS.
Isso pode ser feito substituindo a opção de pasta sincronizada da VM. Anexei a seguinte configuração para o oceano digital para sua consideração, para que você possa ver toda a configuração.
fonte