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 |
This comment has been minimized.
This comment has been minimized.
For those wondering, you can check exactly what commands your version of Vagrant is trying to run in |
This comment has been minimized.
This comment has been minimized.
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
This comment has been minimized.
Mine was calling
sed -E -e
, so I had to add a-E
.