rmilter/rspamd service: tighten unix socket permissions

Changed files
+12 -6
nixos
modules
services
+8 -5
nixos/modules/services/mail/rmilter.nix
···
let
rspamdCfg = config.services.rspamd;
+
postfixCfg = config.services.postfix;
cfg = config.services.rmilter;
inetSocket = addr: port: "inet:[${toString port}@${addr}]";
···
PermissionsStartOnly = true;
Restart = "always";
RuntimeDirectory = "rmilter";
-
RuntimeDirectoryMode = "0755";
+
RuntimeDirectoryMode = "0750";
};
};
···
ListenStream = systemdSocket;
SocketUser = cfg.user;
SocketGroup = cfg.group;
-
SocketMode = "0666";
+
SocketMode = "0660";
};
};
})
-
(mkIf (cfg.enable && cfg.postfix.enable) {
+
(mkIf (cfg.enable && cfg.rspamd.enable && rspamdCfg.enable) {
+
users.extraUsers.${cfg.user}.extraGroups = [ rspamdCfg.group ];
+
})
+
(mkIf (cfg.enable && cfg.postfix.enable) {
services.postfix.extraConfig = cfg.postfix.configFragment;
-
users.users.postfix.extraGroups = [ cfg.group ];
-
+
users.extraUsers.${postfixCfg.user}.extraGroups = [ cfg.group ];
})
];
}
+4 -1
nixos/modules/services/mail/rspamd.nix
···
bindSocket = mkOption {
type = types.listOf types.str;
default = [
-
"/run/rspamd/rspamd.sock mode=0666 owner=${cfg.user}"
+
"/run/rspamd/rspamd.sock mode=0660 owner=${cfg.user} group=${cfg.group}"
];
+
defaultText = ''[
+
"/run/rspamd/rspamd.sock mode=0660 owner=${cfg.user} group=${cfg.group}"
+
]'';
description = ''
List of sockets to listen, in format acceptable by rspamd
'';