Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 30 Nov 2015 22:29:12 +0000 (UTC)
From:      Rick Macklem <rmacklem@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r291536 - in head/etc: defaults rc.d
Message-ID:  <201511302229.tAUMTCXw086512@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rmacklem
Date: Mon Nov 30 22:29:11 2015
New Revision: 291536
URL: https://svnweb.freebsd.org/changeset/base/291536

Log:
  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.
  
  Suggested by:	jpaetzel
  Tested by:	jpaetzel
  Reviewed by:	rc (pending)
  MFC after:	2 weeks

Modified:
  head/etc/defaults/rc.conf
  head/etc/rc.d/nfsd
  head/etc/rc.d/nfsuserd

Modified: head/etc/defaults/rc.conf
==============================================================================
--- head/etc/defaults/rc.conf	Mon Nov 30 22:16:30 2015	(r291535)
+++ head/etc/defaults/rc.conf	Mon Nov 30 22:29:11 2015	(r291536)
@@ -326,6 +326,7 @@ nfs_client_enable="NO"		# This host is a
 nfs_access_cache="60"		# Client cache timeout in seconds
 nfs_server_enable="NO"		# This host is an NFS server (or 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.

Modified: head/etc/rc.d/nfsd
==============================================================================
--- head/etc/rc.d/nfsd	Mon Nov 30 22:16:30 2015	(r291535)
+++ head/etc/rc.d/nfsd	Mon Nov 30 22:29:11 2015	(r291536)
@@ -32,9 +32,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

Modified: head/etc/rc.d/nfsuserd
==============================================================================
--- head/etc/rc.d/nfsuserd	Mon Nov 30 22:16:30 2015	(r291535)
+++ head/etc/rc.d/nfsuserd	Mon Nov 30 22:29:11 2015	(r291536)
@@ -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"



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201511302229.tAUMTCXw086512>