HomeFreeBSD

service(8): use an environment more consistent with init(8)

Description

service(8): use an environment more consistent with init(8)

init(8) sets the "daemon" login class without specifying a pw
entry (so no substitutions are done on the variables). service(8)'s
use of env -L had the effect of specifying root's pw entry, with two
effects: getpwnam and getpwuid are being called, which may not be
entirely safe depending on what nsswitch is up to and what stage of
boot we are at, and substitutions would have been done.

Fix by teaching env(8) to allow -L -/classname to set the class
environment with no pw entry at all specified, and use it in
service(8).

PR: 253959

Details

Provenance
andrew_tao173.riddles.org.ukAuthored on Mar 3 2021, 6:25 PM
kevansCommitted on Mar 3 2021, 6:25 PM
Parents
rGaff9b9ee894e: Restore condition removed in df3747c6607b.
Branches
Unknown
Tags
Unknown