Vagrant Up e senha irritante do NFS pedindo

9

Desculpe pelos erros de linguagem que cometi. Eu estou tentando evitar vagrant pedindo a senha quando monta 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 outros posts de autor, mas nada funciona para mim ...

Eu tentei encontrar as instruções aqui . Eu não tenho conhecimento profundo de trabalho. Então, alguém poderia dar uma solução correta para o meu problema?

    
por Timur Fayzrakhmanov 29.01.2014 / 11:39

3 respostas

20

Os documentos oficiais do Vagrant agora cobrem isso: link

Você precisa adicionar entradas ao arquivo /etc/sudoers , e a maneira de editá-lo é digitá-lo no terminal: sudo visudo

Digite sua senha e você está editando o arquivo. Você vai querer colar essas linhas abaixo (dependendo se você está executando o Vagrant no OS X ou Linux.

Se você não estiver familiarizado com vim , em que ele será aberto, esta página ajudou . Basicamente, copie o bloco de texto apropriado abaixo. Então, em visudo, vá para o local em que deseja colar o texto no arquivo (o final do arquivo está bom) 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, em seguida, :q para sair.

A partir da versão 1.7.3 , o arquivo sudoers no OS X deve ter estas entradas:

Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/tee -a /etc/exports
Cmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart
Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -E -e /*/ d -ibak /etc/exports
%admin ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD, VAGRANT_EXPORTS_REMOVE

E o Linux deve ter estas entradas:

Cmnd_Alias VAGRANT_EXPORTS_CHOWN = /bin/chown 0\:0 /tmp/*
Cmnd_Alias VAGRANT_EXPORTS_MV = /bin/mv -f /tmp/* /etc/exports
Cmnd_Alias VAGRANT_NFSD_CHECK = /etc/init.d/nfs-kernel-server status
Cmnd_Alias VAGRANT_NFSD_START = /etc/init.d/nfs-kernel-server start
Cmnd_Alias VAGRANT_NFSD_APPLY = /usr/sbin/exportfs -ar
%sudo ALL=(root) NOPASSWD: VAGRANT_EXPORTS_CHOWN, VAGRANT_EXPORTS_MV, VAGRANT_NFSD_CHECK, VAGRANT_NFSD_START, VAGRANT_NFSD_APPLY

Note que elas mudam de uma versão do Vagrant para outra, então o que está acima pode estar desatualizado. O importante é que os documentos agora cobrem isso.

    
por Taytay 04.09.2014 / 00:57
2

Os comandos exatos podem mudar entre as versões do Vagrant, então é impossível listar os que sempre funcionariam.

De qualquer forma, as regras dos sudoers em esta 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.

    
por tmatilai 05.02.2014 / 22:31
2

Para quem está fazendo isso para o OSX (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:

https://github.com/cogitatio/vagrant-hostsupdater/issues/50

Basicamente, é o fato de você não ter permissões definidas para essa pasta. Então você precisa executar:

sudo chmod +a "$USER allow write,append" /etc/hosts
    
por Ruben Arevalo 11.08.2017 / 23:02