mirror of
https://github.com/opnsense/src.git
synced 2026-06-09 00:32:25 -04:00
Enforce consistent limits of daemons run from rc.subr:
* Allow the user to configure the login class to use in rc.conf
by using {daemon}_login_class, which;
* Use the daemon class by default;
* .. and then use 'limits' to set the login class so it works both
via init at startup (which runs this in 'daemon' class) and via
whichever root environment (eg command line, other daemons, etc.)
Reviewed by: dteske
Differential Revision: https://reviews.freebsd.org/D3630
This commit is contained in:
parent
c4dabdf78a
commit
ef4cd02bfa
1 changed files with 6 additions and 1 deletions
|
|
@ -768,6 +768,8 @@ check_startmsgs()
|
|||
#
|
||||
# ${name}_prepend n Command added before ${command}.
|
||||
#
|
||||
# ${name}_login_class n Login class to use, else "daemon".
|
||||
#
|
||||
# ${rc_arg}_cmd n If set, use this as the method when invoked;
|
||||
# Otherwise, use default command (see below)
|
||||
#
|
||||
|
|
@ -942,7 +944,7 @@ run_rc_command()
|
|||
_nice=\$${name}_nice _user=\$${name}_user \
|
||||
_group=\$${name}_group _groups=\$${name}_groups \
|
||||
_fib=\$${name}_fib _env=\$${name}_env \
|
||||
_prepend=\$${name}_prepend
|
||||
_prepend=\$${name}_prepend _login_class=\${${name}_login_class:-daemon}
|
||||
|
||||
if [ -n "$_user" ]; then # unset $_user if running as that user
|
||||
if [ "$_user" = "$(eval $IDCMD)" ]; then
|
||||
|
|
@ -1050,6 +1052,9 @@ $command $rc_flags $command_args"
|
|||
fi
|
||||
fi
|
||||
|
||||
# Prepend default limits
|
||||
_doit="limits -C $_login_class $_doit"
|
||||
|
||||
# run the full command
|
||||
#
|
||||
if ! _run_rc_doit "$_doit"; then
|
||||
|
|
|
|||
Loading…
Reference in a new issue