Pertanyaan Vagrant Up dan kata sandi NFS yang mengganggu


Maaf atas kesalahan bahasa yang saya buat. Saya mencoba mencegah gelandangan meminta kata sandi saat memasang folder bersama oleh NFS:

 [server] Exporting NFS shared folders...
 Preparing to edit /etc/exports. Administrator privileges will be required...
 [sudo] password for timur: #!!!

Saya telah banyak sumber daya online seperti github dan pos pengarang lain, tetapi tidak ada yang berhasil untuk saya ...

Saya mencoba instruksi ditemukan sini. Saya tidak memiliki pengetahuan yang mendalam tentang cli. Jadi siapa saja bisa memberikan solusi yang tepat untuk masalah saya?


9
2018-01-29 10:39


asal


Bisakah saya meminta untuk menerima jawaban yang diterima sekarang setelah ini tercakup dalam dokumen Vagrant? - Taytay


Jawaban:


Dokumen Vagrant resmi sekarang mencakup ini: https://www.vagrantup.com/docs/synced-folders/nfs.html#root-privilege-requirement

Anda perlu menambahkan entri ke /etc/sudoers file, dan cara mengeditnya adalah dengan mengetik ini di terminal: sudo visudo

Ketikkan kata sandi Anda, dan Anda mengedit file. Anda ingin menempelkan garis-garis di bawah ini (tergantung apakah Anda menjalankan Vagrant di OS X atau Linux.

Jika Anda tidak terbiasa vim, yang terbuka, halaman ini membantu. Pada dasarnya, salin blok teks yang sesuai di bawah ini. Kemudian, dalam visudo, pergi ke tempat Anda ingin menempelkan teks ke dalam file (ujung file baik-baik saja), dan tekan "i" untuk masuk ke mode insert. CMD + V untuk menempelkan teks Anda. Kemudian, tekan ESC, lalu ketik :w untuk menyimpan perubahan Anda dan kemudian :q berhenti.

Mulai versi 1.7.3, file sudoers di OS X harus memiliki entri ini:

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

Dan Linux harus memiliki entri-entri ini:

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

Perhatikan bahwa perubahan ini dari satu versi Vagrant ke yang lain, jadi hal di atas mungkin sudah ketinggalan zaman. Yang penting adalah bahwa dokumen sekarang menutupinya.


21
2017-09-03 22:57



Anehnya ini tidak berhasil untuk saya, meskipun /var/log/auth.log hanya berisi perintah yang terdaftar di sana dan saya dapat secara manual memverifikasi bahwa izin sudo berfungsi. - Tgr
Alih-alih mengedit file sudoers utama, saya sarankan untuk menambahkan ini sebagai file baru /etc/sudoers.duntuk menghindari konflik di masa depan saat memperbarui OS. Di Ubuntu: sudo visudo -f /etc/sudoers.d/vagrant-nfs atau OSX: sudo visudo -f /private/etc/sudoers.d/vagrant-nfs - Emil Vikström
Ini membantu, terima kasih! Hanya komentar singkat untuk saran Anda untuk berkeliling vim editor: Buka saja visudo sudo EDITOR=nano visudo perintah, yang memungkinkan Anda untuk memotong vim sama sekali. - Petr Cibulka


Perintah yang tepat dapat berubah di antara versi Vagrant, jadi tidak mungkin untuk membuat daftar yang akan selalu berfungsi.

Pokoknya, aturan sudoers masuk inti ini seharusnya masih cukup dekat. Lihat /var/log/auth.log jika ini mengungkapkan perintah sebenarnya untuk versi Vagrant Anda dan sesuaikan aturannya.


2
2018-02-05 21:31



Terima kasih, tetapi saya sudah mencoba solusi ini sejak lama - itu tidak bekerja untuk saya. - Timur Fayzrakhmanov


Bagi siapa pun yang melakukan ini untuk OSX (Saya menggunakan MacOS Sierra Versi 10.12.6) Saya mengalami kesulitan dengan izin bahkan setelah menambahkan baris tersebut. Posting ini sangat membantu:

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

Pada dasarnya itu adalah fakta bahwa Anda tidak memiliki izin yang ditetapkan untuk folder itu sendiri. Jadi, Anda perlu menjalankan:

sudo chmod +a "$USER allow write,append" /etc/hosts

2
2017-08-11 21:02





menambahkan , nfs_export: false pada akhir config.vm.synced_folder-laris di Vagrantfile, memecahkannya untuk saya.

Jika Anda sudah memiliki nfs-config yang berfungsi, dan tidak perlu Vagrant Anda menimpanya setiap kali Anda memulai, maka Anda bisa menonaktifkan penulisan ke file ekspor.

Ini juga memecahkan masalah tabrakan, jika Anda memiliki lebih dari satu Vagrant mencoba mengakses folder yang sama, seperti misalnya memiliki 2 Vagrants hampir identik, satu menjalankan php 5.6 dan satu menjalankan php 7.2.


0
2017-07-11 08:45