From c2a206e13b7cd326b1dc3bb5562c1bba1ae526c6 Mon Sep 17 00:00:00 2001 From: rmacklem Date: Mon, 14 Dec 2015 23:09:02 +0000 Subject: [PATCH] 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 git-svn-id: svn://svn.freebsd.org/base/stable/10@292233 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- etc/defaults/rc.conf | 1 + etc/rc.d/nfsd | 6 +++++- etc/rc.d/nfsuserd | 9 +++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf index f455bc384..d4e9701ba 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 e067ad1ec..64e5a732e 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 52246bb77..d98d16ef8 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" -- 2.45.0