s6

Mirror/fork of https://skarnet.org/software/s6/
git clone https://ccx.te2000.cz/git/s6
Log | Files | Refs | README | LICENSE

commit 384fa7f25cb8e9d759d8aaa681aa98e57d60dfac
parent d6807910974eb20f8cab8f1d77797de2701cb475
Author: Laurent Bercot <ska-skaware@skarnet.org>
Date:   Sat, 19 Dec 2015 20:19:38 +0000

 Update doc for s6-envuidgid

Diffstat:
Mdoc/s6-envuidgid.html | 24+++++++++++-------------
1 file changed, 11 insertions(+), 13 deletions(-)

diff --git a/doc/s6-envuidgid.html b/doc/s6-envuidgid.html @@ -27,7 +27,7 @@ executes into another program. <h2> Interface </h2> <pre> - s6-envuidgid [ -u | -g | -B ] [ -n ] [ -i | -D <em>uid</em>:<em>gid</em> ] <em>account</em> <em>prog...</em> + s6-envuidgid [ -u | -g | -B ] [ -n ] [ -i | -D <em>uid</em>:<em>gid</em>:<em>gidlist</em> ] <em>account</em> <em>prog...</em> </pre> <ul> @@ -52,18 +52,20 @@ group name instead of a user name; the GID environment variable will be set to its numerical value, and the UID and GIDLIST variables will not be touched. </li> <li> <tt>-B</tt>&nbsp;: both user and group. <em>account</em> will be interpreted as <em>user<tt>:</tt>group</em>. The GIDLIST variable will not be -touched. If <em>user</em> exists, the UID variable will be set; if -<em>group</em> exists, the GID variable will be set. </li> +touched. If <em>user</em> does not exist, the UID variable will be set to 0 unless +a better default is provided with the <tt>-D</tt> option. +if <em>group</em> does not exist, the GID variable will be set to 0 unless a +better default is provided with the <tt>-D</tt> option. </li> <li> <tt>-n</tt>&nbsp;: numerical fallback. If <em>account</em> cannot be found in the user or group database, try to interpret the given values literally. For instance, <tt>s6-envuidgid -B root:42</tt> will fail if there's no group named <tt>42</tt> in the group database, but <tt>s6-envuidgid -nB root:42</tt> -will set UID to 0 and GID to 42. This option implies <tt>-B</tt>. </li> +will set UID to 0 and GID to 42. </li> <li> <tt>-i</tt>&nbsp;: insist. If <em>account</em> is unknown, exit 1 with an error message. This is the default. </li> - <li> <tt>-D&nbsp;<em>uid</em>:<em>gid</em></tt>&nbsp;: if <em>account</em> -is unknown, use <em>uid</em> and <em>gid</em> as the values for UID and GID. -This options implies <tt>-B</tt>. </li> + <li> <tt>-D&nbsp;<em>uid</em>:<em>gid</em>:<em>gidlist/em></tt>&nbsp;: if <em>account</em> +is unknown, use <em>uid</em>, <em>gid</em> and <em>gidlist</em> as the values for +UID and GID and GIDLIST. </li> </ul> <h2> Notes </h2> @@ -71,17 +73,13 @@ This options implies <tt>-B</tt>. </li> <ul> <li> s6-envuidgid without options behaves like <a href="http://cr.yp.to/daemontools/envuidgid.html">envuidgid</a>, except that -the exit code is 1 if <em>account</em> doesn't exist. </li> +the exit code is 1 if <em>account</em> doesn't exist, and it also exports +supplementary groups. </li> <li> s6-envuidgid is useful when running a program that must start as root but can drop its privileges later. Such a program can read its new uid/gid/groups info from the UID, GID and GIDLIST environment variables. Superservers such as <a href="http://skarnet.org/software/s6-networking/s6-tcpserver4.html">s6-tcpserver4</a> make use of this. </li> - <li> s6-envuidgid only sets GIDLIST when no option (or only <tt>-i</tt>) is -given. If s6-envuidgid risks defaulting to a given numerical value for -UID or GID, it will not interpret <em>account</em> as a complete account name -with uid, gid and supplementary group list; instead, it interprets it as an -arbitrary combination of user name and group name. </li> </ul> </body>