Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
Allow Vagrant sudo-access without password for NFS-setup (for OS X)
#!/bin/bash
# Script for placing sudoers.d files with syntax-checking
# Making a temporary file to contain the sudoers-changes to be pre-checked
TMP=$(mktemp -t vagrant_sudoers)
cat /etc/sudoers > $TMP
cat >> $TMP <<EOF
# Allow passwordless startup of Vagrant when using NFS.
Cmnd_Alias VAGRANT_EXPORTS_ADD = /usr/bin/su root -c echo '*' >> /etc/exports
Cmnd_Alias VAGRANT_NFSD = /sbin/nfsd restart
Cmnd_Alias VAGRANT_EXPORTS_REMOVE = /usr/bin/sed -e /*/ d -ibak /etc/exports
%staff ALL=(root) NOPASSWD: VAGRANT_EXPORTS_ADD, VAGRANT_NFSD, VAGRANT_EXPORTS_REMOVE
EOF
# Check if the changes we want are OK
visudo -c -f $TMP
if [ $? -eq 0 ]; then
echo "Adding vagrant commands to sudoers"
cat $TMP > /etc/sudoers
else
echo "sudoers syntax wasn't valid. Aborting!"
fi
rm -f $TMP
@StephenKing

This comment has been minimized.

Show comment Hide comment
@StephenKing

StephenKing Apr 21, 2014

Mine was calling sed -E -e, so I had to add a -E.

Mine was calling sed -E -e, so I had to add a -E.

@cabloo

This comment has been minimized.

Show comment Hide comment
@cabloo

cabloo Apr 10, 2015

For those wondering, you can check exactly what commands your version of Vagrant is trying to run in /var/log/auth.log, at least on Ubuntu/Debian.

cabloo commented Apr 10, 2015

For those wondering, you can check exactly what commands your version of Vagrant is trying to run in /var/log/auth.log, at least on Ubuntu/Debian.

@chisleu

This comment has been minimized.

Show comment Hide comment
@chisleu

chisleu Oct 22, 2015

In Mac OSX it is using a very long command with UUIDs for the sed command in the latest vagrant. I'm still working on getting it functional.

chisleu commented Oct 22, 2015

In Mac OSX it is using a very long command with UUIDs for the sed command in the latest vagrant. I'm still working on getting it functional.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment