44 lines
958 B
Nix
44 lines
958 B
Nix
|
{
|
||
|
config,
|
||
|
lib,
|
||
|
pkgs,
|
||
|
...
|
||
|
}:
|
||
|
|
||
|
{
|
||
|
options.security.auditd.enable = lib.mkEnableOption "the Linux Audit daemon";
|
||
|
|
||
|
config = lib.mkIf config.security.auditd.enable {
|
||
|
boot.kernelParams = [ "audit=1" ];
|
||
|
|
||
|
environment.systemPackages = [ pkgs.audit ];
|
||
|
|
||
|
systemd.services.auditd = {
|
||
|
description = "Linux Audit daemon";
|
||
|
wantedBy = [ "sysinit.target" ];
|
||
|
after = [
|
||
|
"local-fs.target"
|
||
|
"systemd-tmpfiles-setup.service"
|
||
|
];
|
||
|
before = [
|
||
|
"sysinit.target"
|
||
|
"shutdown.target"
|
||
|
];
|
||
|
conflicts = [ "shutdown.target" ];
|
||
|
|
||
|
unitConfig = {
|
||
|
ConditionVirtualization = "!container";
|
||
|
ConditionSecurity = [ "audit" ];
|
||
|
DefaultDependencies = false;
|
||
|
};
|
||
|
|
||
|
path = [ pkgs.audit ];
|
||
|
|
||
|
serviceConfig = {
|
||
|
ExecStartPre = "${pkgs.coreutils}/bin/mkdir -p /var/log/audit";
|
||
|
ExecStart = "${pkgs.audit}/bin/auditd -l -n -s nochange";
|
||
|
};
|
||
|
};
|
||
|
};
|
||
|
}
|