xref: /freebsd-12.1/libexec/rc/rc.d/mountd (revision 0696600c)
1*0696600cSBjoern A. Zeeb#!/bin/sh
2*0696600cSBjoern A. Zeeb#
3*0696600cSBjoern A. Zeeb# $FreeBSD$
4*0696600cSBjoern A. Zeeb#
5*0696600cSBjoern A. Zeeb
6*0696600cSBjoern A. Zeeb# PROVIDE: mountd
7*0696600cSBjoern A. Zeeb# REQUIRE: NETWORKING rpcbind quota
8*0696600cSBjoern A. Zeeb# KEYWORD: nojail shutdown
9*0696600cSBjoern A. Zeeb
10*0696600cSBjoern A. Zeeb. /etc/rc.subr
11*0696600cSBjoern A. Zeeb
12*0696600cSBjoern A. Zeebname="mountd"
13*0696600cSBjoern A. Zeebdesc="Service remote NFS mount requests"
14*0696600cSBjoern A. Zeebrcvar="mountd_enable"
15*0696600cSBjoern A. Zeebcommand="/usr/sbin/${name}"
16*0696600cSBjoern A. Zeebpidfile="/var/run/${name}.pid"
17*0696600cSBjoern A. Zeebrequired_files="/etc/exports"
18*0696600cSBjoern A. Zeebstart_precmd="mountd_precmd"
19*0696600cSBjoern A. Zeebextra_commands="reload"
20*0696600cSBjoern A. Zeeb
21*0696600cSBjoern A. Zeebmountd_precmd()
22*0696600cSBjoern A. Zeeb{
23*0696600cSBjoern A. Zeeb	force_depend rpcbind || return 1
24*0696600cSBjoern A. Zeeb
25*0696600cSBjoern A. Zeeb	# mountd flags will differ depending on rc.conf settings
26*0696600cSBjoern A. Zeeb	#
27*0696600cSBjoern A. Zeeb	if checkyesno nfs_server_enable ; then
28*0696600cSBjoern A. Zeeb		if checkyesno weak_mountd_authentication; then
29*0696600cSBjoern A. Zeeb			rc_flags="${mountd_flags} -n"
30*0696600cSBjoern A. Zeeb		fi
31*0696600cSBjoern A. Zeeb	else
32*0696600cSBjoern A. Zeeb		if checkyesno mountd_enable; then
33*0696600cSBjoern A. Zeeb			checkyesno weak_mountd_authentication && rc_flags="-n"
34*0696600cSBjoern A. Zeeb		fi
35*0696600cSBjoern A. Zeeb	fi
36*0696600cSBjoern A. Zeeb
37*0696600cSBjoern A. Zeeb	if checkyesno zfs_enable; then
38*0696600cSBjoern A. Zeeb		rc_flags="${rc_flags} /etc/exports /etc/zfs/exports"
39*0696600cSBjoern A. Zeeb	fi
40*0696600cSBjoern A. Zeeb
41*0696600cSBjoern A. Zeeb	rm -f /var/db/mountdtab
42*0696600cSBjoern A. Zeeb	( umask 022 ; > /var/db/mountdtab ) ||
43*0696600cSBjoern A. Zeeb	    err 1 'Cannot create /var/db/mountdtab'
44*0696600cSBjoern A. Zeeb}
45*0696600cSBjoern A. Zeeb
46*0696600cSBjoern A. Zeebload_rc_config $name
47*0696600cSBjoern A. Zeebrun_rc_command "$1"
48