Added nutboy3 and nuttyclub
This commit is contained in:
+2
-37
@@ -11,34 +11,6 @@ let
|
||||
let user-list = attrNames users;
|
||||
in filter (username: list-includes user-list username) group-members;
|
||||
|
||||
ensure-group-directory = group: dir: ''
|
||||
if [[ -d ${dir} ]]; then
|
||||
GROUP="$(stat --format '%G' "${dir}")"
|
||||
if [[ "$GROUP" = "${group}" ]]; then
|
||||
echo "${dir} exists and belongs to ${group}"
|
||||
exit 0
|
||||
else
|
||||
echo "setting ownership of ${dir} to ${group}"
|
||||
chgrp ${group} ${dir}
|
||||
chmod g+rx ${dir}
|
||||
fi
|
||||
elif [[ ! -e ${dir} ]]; then
|
||||
echo "creating ${dir} and setting ownership to ${group}"
|
||||
mkdir ${dir}
|
||||
chgrp ${group} ${dir}
|
||||
chmod g+rx ${dir}
|
||||
elif [[ -e ${dir} && ! -d ${dir} ]]; then
|
||||
echo "unable to create directory ${dir}, object exists"
|
||||
exit 2
|
||||
else
|
||||
echo "unknown error creating ${dir}"
|
||||
exit 3
|
||||
fi
|
||||
'';
|
||||
|
||||
ensure-group-dirs-script = group: dirs:
|
||||
concatStringsSep "\n" (map (ensure-group-directory group) dirs);
|
||||
|
||||
hostname = config.instance.hostname;
|
||||
host-cfg = config.fudo.hosts.${hostname};
|
||||
|
||||
@@ -145,17 +117,10 @@ in {
|
||||
};
|
||||
|
||||
# Group home directories have to exist, otherwise users can't log in
|
||||
systemd.services = let
|
||||
ensure-group-directories = group:
|
||||
nameValuePair "ensure-group-directories-${group}" {
|
||||
script = ensure-group-dirs-script group [ "/home/${group}" ];
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
requires = [ "local-fs.target" ];
|
||||
after = [ "remote-fs.target" ];
|
||||
};
|
||||
systemd.tmpfiles.rules = let
|
||||
groups-with-members = attrNames
|
||||
(filterAttrs (group: groupOpts: (length groupOpts.members) > 0)
|
||||
sys.local-groups);
|
||||
in listToAttrs (map ensure-group-directories groups-with-members);
|
||||
in map (group: "d /home/${group} 550 root ${group} - -") groups-with-members;
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user