summaryrefslogtreecommitdiffstats
path: root/etc
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2015-12-14 23:09:02 +0000
committerrmacklem <rmacklem@FreeBSD.org>2015-12-14 23:09:02 +0000
commitc6b624d1a15051048c564b8cc8b87ea21664b1c8 (patch)
treee278d73d2f11d75f26c323ecbd205faa65999e5a /etc
parentb6c0f43bf9314da1216aaee55d9344fa09aacd41 (diff)
downloadFreeBSD-src-c6b624d1a15051048c564b8cc8b87ea21664b1c8.zip
FreeBSD-src-c6b624d1a15051048c564b8cc8b87ea21664b1c8.tar.gz
MFC: r291536
Add support for the new "-manage-gids" option for the nfsuserd daemon to the rc scripts. With these changes, setting nfs_server_managegids="YES" in /etc/rc.conf will enable this capability. Relnotes: yes
Diffstat (limited to 'etc')
-rw-r--r--etc/defaults/rc.conf1
-rwxr-xr-xetc/rc.d/nfsd6
-rwxr-xr-xetc/rc.d/nfsuserd9
3 files changed, 15 insertions, 1 deletions
diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf
index f455bc3..d4e9701 100644
--- a/etc/defaults/rc.conf
+++ b/etc/defaults/rc.conf
@@ -330,6 +330,7 @@ nfs_access_cache="60" # Client cache timeout in seconds
nfs_server_enable="NO" # This host is an NFS server (or NO).
oldnfs_server_enable="NO" # Run the old NFS server (YES/NO).
nfs_server_flags="-u -t" # Flags to nfsd (if enabled).
+nfs_server_managegids="NO" # The NFS server maps gids for AUTH_SYS (or NO).
mountd_enable="NO" # Run mountd (or NO).
mountd_flags="-r" # Flags to mountd (if NFS server enabled).
weak_mountd_authentication="NO" # Allow non-root mount requests to be served.
diff --git a/etc/rc.d/nfsd b/etc/rc.d/nfsd
index e067ad1..64e5a73 100755
--- a/etc/rc.d/nfsd
+++ b/etc/rc.d/nfsd
@@ -46,9 +46,13 @@ nfsd_precmd()
sysctl vfs.nfsd.nfs_privport=0 > /dev/null
fi
+ if checkyesno nfsv4_server_enable || \
+ checkyesno nfs_server_managegids; then
+ force_depend nfsuserd || err 1 "Cannot run nfsuserd"
+ fi
+
if checkyesno nfsv4_server_enable; then
sysctl vfs.nfsd.server_max_nfsvers=4 > /dev/null
- force_depend nfsuserd || err 1 "Cannot run nfsuserd"
else
echo 'NFSv4 is disabled'
sysctl vfs.nfsd.server_max_nfsvers=3 > /dev/null
diff --git a/etc/rc.d/nfsuserd b/etc/rc.d/nfsuserd
index 52246bb..d98d16e 100755
--- a/etc/rc.d/nfsuserd
+++ b/etc/rc.d/nfsuserd
@@ -15,5 +15,14 @@ command="/usr/sbin/${name}"
sig_stop="USR1"
load_rc_config $name
+start_precmd="nfsuserd_precmd"
+
+nfsuserd_precmd()
+{
+ if checkyesno nfs_server_managegids; then
+ rc_flags="-manage-gids ${nfsuserd_flags}"
+ fi
+ return 0
+}
run_rc_command "$1"
OpenPOWER on IntegriCloud