From 8c22e88befbd6ce76acdc9371683dca43425235e Mon Sep 17 00:00:00 2001
From: Laurent Bercot
- If the -u or -g option is used, then 0
-must be explicitly listed in uids in order to allow root
-to operate the database. If neither option is used, then root
-(and only root) is implicitly allowed.
-
- It is important to only use the -u or -g
-options when the user owning the supervision tree is not root. The
-internal s6-rc mechanisms allow uids and gids specified by those
-options to run any oneshot in the compiled service database as the
-user owning the supervision tree;
-if that user is root, this becomes an avenue for unwanted
-privilege gain. Only specify users that have the right to operate
-the supervision tree!
-
@@ -408,6 +382,10 @@ following an invocation of s6-rc-init or
and it must not be deleted. The only way to "free" such a compiled database
for displacement or deletion is to replace it as the live one via another
call to s6-rc-update.
+
- Interface
- s6-rc-compile [ -v verbosity ] [ -u uids ] [ -g gids ] [ -h fdhuser ] [ -b ] compiled source...
+ s6-rc-compile [ -v verbosity ] [ -h fdhuser ] [ -b ] compiled source...
@@ -64,14 +64,6 @@ services declared in every source argument.
Source format
- Except in test installations with specifically made compiled -databases and live directories, s6-rc should only be run as root - -especially when asking for a state change. + s6-rc should only be run by the user owning the underlying +s6 supervision tree. It can +also be run by root even if the supervision tree is not owned +by root, but in this case the services will always be started and +stopped by the user owning the supervision tree - they will not have +root privileges.