# apparmor.d - Full set of apparmor profiles # Copyright (C) 2019-2021 Mikhail Morfikov # Copyright (C) 2021-2024 Alexandre Pujol # SPDX-License-Identifier: GPL-2.0-only abi , include @{exec_path} = @{bin}/usermod profile usermod @{exec_path} flags=(attach_disconnected) { include include include capability audit_write, capability chown, capability dac_read_search, capability fowner, capability fsetid, capability sys_ptrace, network netlink raw, ptrace (read), @{exec_path} mr, @{bin}/nscd rix, /etc/login.defs r, /etc/subuid r, /etc/{passwd,shadow,gshadow,group} rw, /etc/{passwd,shadow,gshadow,group}.@{pid} w, /etc/{passwd,shadow,gshadow,group}- w, /etc/{passwd,shadow,gshadow,group}+ rw, /etc/passwd.lock wl -> /etc/passwd.@{pid}, /etc/group.lock wl -> /etc/group.@{pid}, /etc/shadow.lock wl -> /etc/shadow.@{pid}, /etc/gshadow.lock wl -> /etc/gshadow.@{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, # To create and move user dirs @{HOME}/{,**} rw, /var/ r, /var/lib/ r, /var/lib/*/{,**} rw, @{PROC}/ r, @{PROC}/@{pids}/task/ r, include if exists } # vim:syntax=apparmor