mirror of
https://github.com/NixOS/nix
synced 2025-06-25 10:41:16 +02:00
Factor out isRootUser
function
This commit is contained in:
parent
eeecbb9c36
commit
e4d9b207c2
11 changed files with 30 additions and 15 deletions
|
@ -16,6 +16,7 @@
|
|||
#include "posix-fs-canonicalise.hh"
|
||||
#include "posix-source-accessor.hh"
|
||||
#include "keys.hh"
|
||||
#include "users.hh"
|
||||
|
||||
#include <iostream>
|
||||
#include <algorithm>
|
||||
|
@ -223,7 +224,7 @@ LocalStore::LocalStore(const Params & params)
|
|||
|
||||
/* Optionally, create directories and set permissions for a
|
||||
multi-user install. */
|
||||
if (getuid() == 0 && settings.buildUsersGroup != "") {
|
||||
if (isRootUser() && settings.buildUsersGroup != "") {
|
||||
mode_t perm = 01775;
|
||||
|
||||
struct group * gr = getgrnam(settings.buildUsersGroup.get().c_str());
|
||||
|
@ -573,7 +574,7 @@ void LocalStore::openDB(State & state, bool create)
|
|||
void LocalStore::makeStoreWritable()
|
||||
{
|
||||
#if __linux__
|
||||
if (getuid() != 0) return;
|
||||
if (!isRootUser()) return;
|
||||
/* Check if /nix/store is on a read-only mount. */
|
||||
struct statvfs stat;
|
||||
if (statvfs(realStoreDir.get().c_str(), &stat) != 0)
|
||||
|
@ -1570,7 +1571,7 @@ static void makeMutable(const Path & path)
|
|||
/* Upgrade from schema 6 (Nix 0.15) to schema 7 (Nix >= 1.3). */
|
||||
void LocalStore::upgradeStore7()
|
||||
{
|
||||
if (getuid() != 0) return;
|
||||
if (!isRootUser()) return;
|
||||
printInfo("removing immutable bits from the Nix store (this may take a while)...");
|
||||
makeMutable(realStoreDir);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue