feat(aa-log): new structure for apparmor rules.

This commit is contained in:
Alexandre Pujol 2023-09-25 00:06:07 +01:00
parent 99d1a4e302
commit 923bb66eba
No known key found for this signature in database
GPG key ID: C5469996F0DF68EC
18 changed files with 428 additions and 192 deletions

25
pkg/aa/file.go Normal file
View file

@ -0,0 +1,25 @@
// apparmor.d - Full set of apparmor profiles
// Copyright (C) 2021-2023 Alexandre Pujol <alexandre@pujol.io>
// SPDX-License-Identifier: GPL-2.0-only
package aa
type File struct {
Qualifier
Path string
Access string
Target string
}
func FileFromLog(log map[string]string, noNewPrivs, fileInherit bool) ApparmorRule {
owner := false
if log["fsuid"] == log["ouid"] && log["OUID"] != "root" {
owner = true
}
return &File{
Qualifier: NewQualifier(owner, noNewPrivs, fileInherit),
Path: log["name"],
Access: maskToAccess[log["requested_mask"]],
Target: log["target"],
}
}