Maaf atas kesalahan bahasa yang saya buat. Saya mencoba untuk mencegah gelandangan meminta kata sandi ketika me-mount folder bersama oleh NFS:
[server] Exporting NFS shared folders...
Preparing to edit /etc/exports. Administrator privileges will be required...
[sudo] password for timur: #!!!
Saya sudah merah banyak sumber daya online seperti github dan posting penulis lain, tetapi tidak ada yang berhasil untuk saya ...
Saya mencoba petunjuknya ditemukan di sini . Saya tidak memiliki pengetahuan yang mendalam tentang pekerjaan. Jadi, adakah yang bisa memberikan solusi yang tepat untuk masalah saya?
command-line
virtualbox
sudo
nfs
vagrant
Timur Fayzrakhmanov
sumber
sumber
nfs-server
terpasang pada mesin Anda.Jawaban:
Dokumen resmi Vagrant 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 sedang mengedit file. Anda ingin menempelkan baris-baris ini di bawah (tergantung apakah Anda menjalankan Vagrant di OS X atau Linux.
Jika Anda tidak terbiasa dengan 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 (akhir file baik-baik saja), dan tekan "i" untuk masuk ke mode insert. CMD + V untuk menempelkan teks Anda. Lalu, tekan ESC, lalu ketik
:w
untuk menyimpan perubahan Anda dan kemudian:q
untuk berhenti.Pada versi 1.7.3 , file sudoers di OS X harus memiliki entri ini:
Dan Linux harus memiliki entri ini:
Perhatikan bahwa perubahan ini dari satu versi Vagrant ke versi lain, jadi versi di atas mungkin sudah usang. Yang penting adalah bahwa dokumen sekarang menutupinya.
sumber
/var/log/auth.log
hanya berisi perintah yang terdaftar di sana dan saya dapat secara manual memverifikasi bahwa izin sudo berfungsi./etc/sudoers.d
untuk 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
sudo EDITOR=nano visudo
perintah, yang memungkinkan Anda untuk memotong vim sepenuhnya.Perintah yang tepat dapat berubah di antara versi Vagrant, jadi tidak mungkin untuk membuat daftar yang akan selalu berfungsi.
Bagaimanapun, aturan sudoers dalam inti ini harus tetap cukup dekat. Periksa /var/log/auth.log jika itu mengungkapkan perintah sebenarnya untuk versi Vagrant Anda dan sesuaikan aturannya.
sumber
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-baris itu. Posting ini sangat membantu:
Pada dasarnya ini adalah fakta bahwa Anda tidak memiliki izin yang ditetapkan untuk folder itu sendiri. Jadi, Anda perlu menjalankan:
sumber
menambahkan
, nfs_export: false
pada akhirconfig.vm.synced_folder
garis di Vagrantfile, memecahkannya untukku.Jika Anda sudah memiliki nfs-config yang berfungsi, dan tidak perlu Vagrant Anda untuk menimpanya setiap kali Anda mulai, maka Anda bisa menonaktifkan penulisan ke file ekspor.
Ini juga memecahkan masalah tabrakan, jika Anda memiliki lebih dari satu Vagrant yang mencoba mengakses folder yang sama, seperti misalnya memiliki 2 Vagrants yang hampir identik, satu menjalankan php 5.6 dan satu menjalankan php 7.2.
sumber
TL&DR: Tambahkan override.vm.synced_folder berikut ".", "/ Vagrant", dinonaktifkan: true
Rasional: Secara default Vagrant mencoba mendeteksi folder NFS / SMB. Meskipun saya bisa mengerti mengapa pengembang menambahkan fitur ini, untuk kasus penggunaan saya ini sangat mengganggu. Solusinya adalah cukup Nonaktifkan sinkronisasi folder NFS.
Ini dapat dilakukan dengan mengganti opsi folder VM yang disinkronkan. Saya telah melampirkan konfigurasi laut digital berikut ini untuk pertimbangan Anda, sehingga Anda dapat melihat seluruh konfigurasi.
sumber