mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-20 20:39:04 +02:00
openldap: add dataDir, use cfg.user and cfg.group to run slapd
This commit is contained in:
parent
56c970ae01
commit
a4af32eec3
|
@ -20,6 +20,7 @@ in
|
||||||
services.openldap = {
|
services.openldap = {
|
||||||
|
|
||||||
enable = mkOption {
|
enable = mkOption {
|
||||||
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
description = "
|
description = "
|
||||||
Whether to enable the ldap server.
|
Whether to enable the ldap server.
|
||||||
|
@ -27,16 +28,25 @@ in
|
||||||
};
|
};
|
||||||
|
|
||||||
user = mkOption {
|
user = mkOption {
|
||||||
|
type = types.string;
|
||||||
default = "openldap";
|
default = "openldap";
|
||||||
description = "User account under which slapd runs.";
|
description = "User account under which slapd runs.";
|
||||||
};
|
};
|
||||||
|
|
||||||
group = mkOption {
|
group = mkOption {
|
||||||
|
type = types.string;
|
||||||
default = "openldap";
|
default = "openldap";
|
||||||
description = "Group account under which slapd runs.";
|
description = "Group account under which slapd runs.";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
dataDir = mkOption {
|
||||||
|
type = types.string;
|
||||||
|
default = "/var/db/openldap";
|
||||||
|
description = "The database directory.";
|
||||||
|
};
|
||||||
|
|
||||||
extraConfig = mkOption {
|
extraConfig = mkOption {
|
||||||
|
type = types.lines;
|
||||||
default = "";
|
default = "";
|
||||||
description = "
|
description = "
|
||||||
sldapd.conf configuration
|
sldapd.conf configuration
|
||||||
|
@ -60,22 +70,22 @@ in
|
||||||
preStart = ''
|
preStart = ''
|
||||||
mkdir -p /var/run/slapd
|
mkdir -p /var/run/slapd
|
||||||
chown -R ${cfg.user}:${cfg.group} /var/run/slapd
|
chown -R ${cfg.user}:${cfg.group} /var/run/slapd
|
||||||
mkdir -p /var/db/openldap
|
mkdir -p ${cfg.dataDir}
|
||||||
chown -R ${cfg.user}:${cfg.group} /var/db/openldap
|
chown -R ${cfg.user}:${cfg.group} ${cfg.dataDir}
|
||||||
'';
|
'';
|
||||||
serviceConfig.ExecStart = "${openldap}/libexec/slapd -u openldap -g openldap -d 0 -f ${configFile}";
|
serviceConfig.ExecStart = "${openldap}/libexec/slapd -u ${cfg.user} -g ${cfg.group} -d 0 -f ${configFile}";
|
||||||
};
|
};
|
||||||
|
|
||||||
users.extraUsers = optionalAttrs (cfg.user == "openldap") (singleton
|
users.extraUsers.openldap =
|
||||||
{ name = "openldap";
|
{ name = cfg.user;
|
||||||
group = cfg.group;
|
group = cfg.group;
|
||||||
uid = config.ids.uids.openldap;
|
uid = config.ids.uids.openldap;
|
||||||
});
|
};
|
||||||
|
|
||||||
users.extraGroups = optionalAttrs (cfg.group == "openldap") (singleton
|
users.extraGroups.openldap =
|
||||||
{ name = "openldap";
|
{ name = cfg.group;
|
||||||
gid = config.ids.gids.openldap;
|
gid = config.ids.gids.openldap;
|
||||||
});
|
};
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue