74 lines
1.8 KiB
Text
74 lines
1.8 KiB
Text
# apparmor.d - Full set of apparmor profiles
|
|
# Copyright (C) 2019-2021 Mikhail Morfikov
|
|
# Copyright (C) 2023 Alexandre Pujol <alexandre@pujol.io>
|
|
# SPDX-License-Identifier: GPL-2.0-only
|
|
|
|
abi <abi/3.0>,
|
|
|
|
include <tunables/global>
|
|
|
|
@{exec_path} = @{bin}/useradd
|
|
profile useradd @{exec_path} {
|
|
include <abstractions/base>
|
|
include <abstractions/consoles>
|
|
include <abstractions/nameservice-strict>
|
|
|
|
capability audit_write,
|
|
capability chown,
|
|
capability dac_override,
|
|
capability dac_read_search,
|
|
capability fowner,
|
|
capability fsetid,
|
|
|
|
network netlink raw,
|
|
|
|
@{exec_path} mr,
|
|
|
|
@{bin}/usermod rPx,
|
|
|
|
@{bin}/pam_tally2 rCx -> pam_tally2,
|
|
|
|
/etc/default/useradd r,
|
|
/etc/login.defs r,
|
|
|
|
/etc/{passwd,shadow,gshadow,group,subuid,subgid} rw,
|
|
/etc/{passwd,shadow,gshadow,group,subuid,subgid}- w,
|
|
/etc/{passwd,shadow,gshadow,group,subuid,subgid}.@{pid} w,
|
|
/etc/{passwd,shadow,gshadow,group,subuid,subgid}+ rw,
|
|
|
|
/etc/group.lock wl -> /etc/group.@{pid},
|
|
/etc/gshadow.lock wl -> /etc/gshadow.@{pid},
|
|
/etc/passwd.lock wl -> /etc/passwd.@{pid},
|
|
/etc/shadow.lock wl -> /etc/shadow.@{pid},
|
|
/etc/subgid.lock wl -> /etc/subgid.@{pid},
|
|
/etc/subuid.lock wl -> /etc/subuid.@{pid},
|
|
|
|
# A process first uses lckpwdf() to lock the lock file, thereby gaining exclusive rights to
|
|
# modify the /etc/passwd or /etc/shadow password database.
|
|
/etc/.pwd.lock rwk,
|
|
|
|
/var/log/faillog rw,
|
|
/var/log/lastlog rw,
|
|
|
|
# To create user dirs and copy files from /etc/skel/ to them
|
|
@{HOME}/ rw,
|
|
@{HOME}/.* w,
|
|
/var/lib/*/{,*} rw,
|
|
/etc/skel/{,.*} r,
|
|
|
|
profile pam_tally2 {
|
|
include <abstractions/base>
|
|
include <abstractions/consoles>
|
|
include <abstractions/nameservice-strict>
|
|
|
|
capability audit_write,
|
|
|
|
@{bin}/pam_tally2 mr,
|
|
|
|
/var/log/tallylog rw,
|
|
|
|
include if exists <local/useradd_pam_tally2>
|
|
}
|
|
|
|
include if exists <local/useradd>
|
|
}
|