Извините за языковые ошибки, которые я сделал. Я пытаюсь запретить vagrant спрашивать пароль при монтировании общих папок по NFS:
[server] Exporting NFS shared folders...
Preparing to edit /etc/exports. Administrator privileges will be required...
[sudo] password for timur: #!!!
У меня есть много онлайн-ресурсов, таких как github и посты других авторов, но у меня ничего не работает ...
Я попробовал инструкции были найдены здесь . У меня нет глубоких рабочих знаний. Так кто-нибудь может дать правильное решение для моей проблемы?
command-line
virtualbox
sudo
nfs
vagrant
Тимур Файзрахманов
источник
источник
nfs-server
установлен ли сервис на вашем компьютере.Ответы:
Официальные документы Vagrant теперь охватывают это: https://www.vagrantup.com/docs/synced-folders/nfs.html#root-privilege-requirement
Вам необходимо добавить записи в
/etc/sudoers
файл и способ редактирования, который заключается в том, чтобы напечатать это в терминале:sudo visudo
Введите свой пароль, и вы редактируете файл. Вы можете вставить эти строки ниже (в зависимости от того, используете ли вы Vagrant в OS X или Linux.
Если вы не знакомы с vim , в котором он открывается, эта страница помогла . В основном, скопируйте соответствующий блок текста ниже. Затем в visudo перейдите к месту, куда вы хотите вставить текст в файл (конец файла в порядке), и нажмите «i», чтобы перейти в режим вставки. CMD + V, чтобы вставить свой текст. Затем нажмите ESC, затем введите,
:w
чтобы сохранить изменения и затем:q
выйти.Начиная с версии 1.7.3 , файл sudoers в OS X должен иметь следующие записи:
И в Linux должны быть такие записи:
Обратите внимание, что они переходят с одной версии Vagrant на другую, поэтому приведенное выше может быть устаревшим. Важно то, что документы теперь покрывают это.
источник
/var/log/auth.log
содержит только команды, перечисленные там, и я могу вручную проверить, работают ли разрешения sudo./etc/sudoers.d
чтобы избежать будущих конфликтов при обновлении ОС. На Ubuntu:sudo visudo -f /etc/sudoers.d/vagrant-nfs
или OSX:sudo visudo -f /private/etc/sudoers.d/vagrant-nfs
sudo EDITOR=nano visudo
команды, которая позволяет полностью обойти vim .Точные команды могут меняться между версиями Vagrant, поэтому невозможно перечислить те, которые будут работать всегда.
Во всяком случае, правила sudoers в этой сущности должны быть еще довольно близки. Проверьте /var/log/auth.log, если он показывает фактические команды для вашей версии Vagrant и адаптируйте правила соответственно.
источник
Для тех, кто делает это для OSX (я на MacOS Sierra версии 10.12.6), у меня были трудности с разрешениями даже после добавления этих строк. Этот пост действительно помог:
В основном это тот факт, что у вас нет прав доступа к этой папке самостоятельно. Итак, вам нужно запустить:
источник
добавив
, nfs_export: false
в концеconfig.vm.synced_folder
строки в Vagrantfile, решил это за меня.Если у вас уже есть работающий nfs-config, и вам не нужен Vagrant для его перезаписи при каждом запуске, вы можете просто отключить запись в файл экспорта.
Это также решает проблему коллизий, если у вас есть более одного Vagrant, пытающегося получить доступ к одной и той же папке, как, например, 2 практически идентичных Vagrant, один с php 5.6 и один с php 7.2.
источник
TL & DR: добавьте следующую папку override.vm.synced_folder ".", "/ Vagrant", отключено: true
Рационально: по умолчанию Vagrant пытается обнаружить любые папки NFS / SMB. Хотя я могу понять, почему разработчики добавили эту функцию, для моего варианта использования это очень раздражает. Решение состоит в том, чтобы просто отключить синхронизацию папок NFS.
Это можно сделать, переопределив параметр папки синхронизированной виртуальной машины. Я приложил следующую конфигурацию для цифрового океана для вашего рассмотрения, чтобы вы могли увидеть всю конфигурацию.
источник