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
@ -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…
x
Reference in New Issue
Block a user