directory, user and limits question

Joachim Desroches joachim.desroches at epfl.ch
Mon Jul 13 15:41:51 UTC 2020


Dear freebsd-rc,

I just recently dived into writing my own RC scripts. I have read the
rc.subr(8) manpage as well as the "Practical rc.d scripting in BSD"
document, and I have a few questions as to how things are what the are
and how to attain a certain goal.

My first questions stem from reading the limits(1) manpage. Since limits
can handle both setting environment variables and the user running the
command, why does setting ${name}_env and ${name}_user call respectively
env(1) and su(1) ? Would it not be more elegant to simply use the
corresponding flags in limits(1), since it is called anyway ?

Secondly, I am trying to have the `command` of my rc script called in a
specific directory. This works as expected by setting ${name}_chdir, so
that doit becomes `cd ... && limits -C daemon ${command}...`. However,
if I also set ${name}_user, then the command run by limits becomes
`su -m $user -c 'sh -c $command'`, which completely annihilates the
previous `cd ...`. 

What is the correct way of running a command in a specific directory as
a specific user ? Since settings ${name}_user seems to cancel
${name}_chdir (as well as any manual changes done in ${name}_prepend).

Cheers and happy hacking,

-- 
Joachim Desroches

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-rc/attachments/20200713/b9bce80b/attachment.sig>


More information about the freebsd-rc mailing list