Re: s6-log can create current with 640?

From: Laurent Bercot <ska-supervision_at_skarnet.org>
Date: Sat, 26 Oct 2019 05:27:59 +0000

>I'd mistakenly assumed execlineb knew where its friends were; though in
>hindsight its a bit much to assume that execlineb internally changes the
>PATH.

The real question is, why is there a "umask" binary that's not the one
from execline? Non-chainloading non-builtin umask is nonsense, just
like non-chainloading non-builtin cd.


>Unfortunately it seems that the path can't be set within execlineb context.

Of course it can. What's happening is that both export and envfile
set the PATH *on execution of the next command*, so the command that's
right after them will still be searched with the old PATH. In other
words:

"export PATH /usr/local/bin umask 033 echo blah" will not work, because
umask will still be searched for in the old PATH (but echo would be
searched in the new PATH), but
"export PATH /usr/local/bin exec umask 033 echo blah" will work, because
exec is searched in the old PATH and umask is searched in the new PATH.

(exec is an execline nop that can be useful in those cases, if you
don't have another command to put between the export PATH and the
command you need to search in the new PATH.)

--
Laurent
Received on Sat Oct 26 2019 - 05:27:59 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC