forked from lix-project/lix
Merge pull request #7458 from ncfavier/disable-build-users
Allow disabling build users by unsetting `build-users-group`
This commit is contained in:
commit
5d77c08858
|
@ -281,7 +281,10 @@ public:
|
||||||
`NIX_REMOTE` is empty, the uid under which the Nix daemon runs if
|
`NIX_REMOTE` is empty, the uid under which the Nix daemon runs if
|
||||||
`NIX_REMOTE` is `daemon`). Obviously, this should not be used in
|
`NIX_REMOTE` is `daemon`). Obviously, this should not be used in
|
||||||
multi-user settings with untrusted users.
|
multi-user settings with untrusted users.
|
||||||
)"};
|
|
||||||
|
Defaults to `nixbld` when running as root, *empty* otherwise.
|
||||||
|
)",
|
||||||
|
{}, false};
|
||||||
|
|
||||||
Setting<bool> autoAllocateUids{this, false, "auto-allocate-uids",
|
Setting<bool> autoAllocateUids{this, false, "auto-allocate-uids",
|
||||||
R"(
|
R"(
|
||||||
|
|
|
@ -185,7 +185,7 @@ std::unique_ptr<UserLock> acquireUserLock(uid_t nrIds, bool useChroot)
|
||||||
bool useBuildUsers()
|
bool useBuildUsers()
|
||||||
{
|
{
|
||||||
#if __linux__
|
#if __linux__
|
||||||
static bool b = (settings.buildUsersGroup != "" || settings.startId.get() != 0) && getuid() == 0;
|
static bool b = (settings.buildUsersGroup != "" || settings.autoAllocateUids) && getuid() == 0;
|
||||||
return b;
|
return b;
|
||||||
#elif __APPLE__
|
#elif __APPLE__
|
||||||
static bool b = settings.buildUsersGroup != "" && getuid() == 0;
|
static bool b = settings.buildUsersGroup != "" && getuid() == 0;
|
||||||
|
|
Loading…
Reference in a new issue