Vagrantを自動で起動し、さらにNFSのsudoパスワードも省略する方法


キラバの堀口です。Vagrantは毎日必ず起動するのですが、VagrantでNFSのShared folderを使っていると毎回パスワードの入力を求められます。

毎回求められるのも面倒なので、パスワードを省略してそのまま自動で起動するように設定したので紹介します。

NFSのパスワードを省略する

権限を管理するsudoers.dを使ってNFSをパスワードなしで使えるように設定します。
以下のファイルをviで任意の場所に作成します。

sudo vi /private/etc/sudoers.d/vagrant-nfs

開いたら以下の内容を記述して保存します。

# NFS - Synced Folders - Vagrant by HashiCorp
# https://www.vagrantup.com/docs/synced-folders/nfs.html
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

これでNFSでパスワードを求められなくなりました。

Vagrant upをMac起動時に自動的に実行できるようにする

次にMacを起動したときVagrantが自動的に起動するように設定します。

viで適当なファイル名でコマンドを作成します。

sudo vi vagrantup.command

以下の内容を記述して保存します。
パスはvagrant upを実行するディレクトリのパスにします。

cd vagrant upを実行するディレクトリのパス
vagrant up

ファイルを作成したらchmodで権限を変更します。

sudo chmod 750 vagrantup.command

次にMacの起動項目に追加します。
システム環境設定からユーザーを選択します。

ユーザー一覧からログイン時にVagrantを起動したいユーザーを選択し、ログイン項目でログイン時に起動するアプリケーションを追加します。

先程選択したコマンドを追加したら設定終了です。

これで起動時に自動的に起動されるため、毎回の手間がなくなりかなり快適です。

参考サイト

VagrantのSynced FoldersでNFSを利用するときにsudoのパスワード入力を省略する
【設定方法】VagrantのでNFSマウントを利用する際に求められる管理者パスワード入力を省略する設定
Mac起動時にVagrantを自動で立ち上げる

コメントを残す