registry: check for running as root in clustering mode
authorRalph Boehme <slow@samba.org>
Sat, 7 Aug 2021 10:52:28 +0000 (10:52 +0000)
committerJule Anger <janger@samba.org>
Mon, 6 Sep 2021 10:16:27 +0000 (10:16 +0000)
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14787
RN:  net conf list crashes when run as normal user

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
Autobuild-User(master): Ralph Böhme <slow@samba.org>
Autobuild-Date(master): Tue Aug 17 11:23:15 UTC 2021 on sn-devel-184

(cherry picked from commit 4809f4a6ee971bcd9767839c729b636b7582fc02)

Autobuild-User(v4-13-test): Jule Anger <janger@samba.org>
Autobuild-Date(v4-13-test): Mon Sep  6 10:16:27 UTC 2021 on sn-devel-184

source3/registry/reg_backend_db.c

index c870dc57ed624a2a49be35ea59fb13442df18bab..423b310fe8a0de89e3e28e9b48c54df03cb858a6 100644 (file)
@@ -733,6 +733,15 @@ WERROR regdb_init(void)
                return WERR_OK;
        }
 
+        /*
+         * Clustered Samba can only work as root because we need messaging to
+         * talk to ctdb which only works as root.
+         */
+        if (lp_clustering() && geteuid() != 0) {
+                DBG_ERR("Cluster mode requires running as root.\n");
+               return WERR_ACCESS_DENIED;
+        }
+
        db_path = state_path(talloc_tos(), "registry.tdb");
        if (db_path == NULL) {
                return WERR_NOT_ENOUGH_MEMORY;