Reject UID or GID zero unless a documented use case requires it (#32)
* Reject UID or GID zero unless a documented use case requires it setup_uid() would happily remap the seafile user to UID/GID 0, which after the previous non-root fix would mean drop_privileges() drops straight back into root. main() now rejects --uid/SEAFILE_UID and --gid/SEAFILE_GID being 0 with exit code 2, before setup_uid() runs. Verified against the real image via tests/smoke.sh. * Clarify the GID=0 rejection message Copilot review: 'group root' isn't a commonly used phrase. Name GID 0 as the root group explicitly instead. --------- Co-authored-by: Maxim Shulga <maxim.shulga@alludo.com>
This commit is contained in:
1 parent
6d32460b13
commit
6f8af2cfa4
3 files changed
+25
-1
No files matched your search
@@ -131,6 +131,12 @@ def main():
|
||||
parser.error("username is not specified")
|
||||
if not args.libraries:
|
||||
parser.error("library is not specified")
|
||||
if args.uid == 0:
|
||||
parser.error("uid must not be 0; running the daemon as root defeats "
|
||||
"the point of --uid/SEAFILE_UID")
|
||||
if args.gid == 0:
|
||||
parser.error("gid must not be 0 (the root group); running the daemon "
|
||||
"with it defeats the point of --gid/SEAFILE_GID")
|
||||
|
||||
try:
|
||||
password = resolve_secret("PASSWORD", args.password, args.password_file)
|
||||
|
||||
Reference in new issue
Block a user