Add setfib(1) support for services as <name>_fib in rc.conf.

This commit is contained in:
Hiroki Sato 2012-10-27 19:09:09 +00:00
parent b2de5bffb6
commit c58c2dc7d5
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=242184
2 changed files with 12 additions and 2 deletions

View File

@ -462,6 +462,8 @@ check_startmsgs()
# NOTE: $flags from the parent environment
# can be used to override this.
#
# ${name}_fib n Routing table number to run ${command} with.
#
# ${name}_nice n Nice level to run ${command} at.
#
# ${name}_user n User to run ${command} as, using su(1) if not
@ -640,7 +642,8 @@ run_rc_command()
fi
eval _chdir=\$${name}_chdir _chroot=\$${name}_chroot \
_nice=\$${name}_nice _user=\$${name}_user \
_group=\$${name}_group _groups=\$${name}_groups
_group=\$${name}_group _groups=\$${name}_groups \
_fib=\$${name}_fib
if [ -n "$_user" ]; then # unset $_user if running as that user
if [ "$_user" = "$(eval $IDCMD)" ]; then
@ -721,11 +724,13 @@ run_rc_command()
if [ -n "$_chroot" ]; then
_doit="\
${_nice:+nice -n $_nice }\
${_fib:+setfib -F $_fib }\
chroot ${_user:+-u $_user }${_group:+-g $_group }${_groups:+-G $_groups }\
$_chroot $command $rc_flags $command_args"
else
_doit="\
${_chdir:+cd $_chdir && }\
${_fib:+setfib -F $_fib }\
$command $rc_flags $command_args"
if [ -n "$_user" ]; then
_doit="su -m $_user -c 'sh -c \"$_doit\"'"

View File

@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd July 22, 2012
.Dd October 27, 2012
.Dt RC.CONF 5
.Os
.Sh NAME
@ -179,6 +179,11 @@ Run the service under this user account.
.Pq Vt str
Run the chrooted service under this system group. Unlike the _user
setting, this setting has no effect if the service is not chrooted.
.It Ao Ar name Ac Ns Va _fib
.Pq Vt int
The
.Xr setfib 1
value to run the service under.
.It Ao Ar name Ac Ns Va _nice
.Pq Vt int
The