apparmor.d/profiles/usermod
2021-04-01 16:17:47 +01:00

63 lines
1.6 KiB
Text

# apparmor.d - Full set of apparmor profiles
# Copyright (C) 2019-2021 Mikhail Morfikov
# SPDX-License-Identifier: GPL-2.0-only
abi <abi/3.0>,
include <tunables/global>
@{exec_path} = /{usr/,}sbin/usermod
profile usermod @{exec_path} flags=(attach_disconnected) {
include <abstractions/base>
include <abstractions/consoles>
include <abstractions/nameservice-strict>
# To write records to the kernel auditing log.
capability audit_write,
# To set the right permission to the files in the /etc/ dir.
capability chown,
capability fsetid,
# To read user home files and change their user/group.
# usermod: Failed to change ownership of the home directory
capability dac_read_search,
# To move user home files to a new location.
capability fowner,
# To prevent removing a user when it's used by some process.
capability sys_ptrace,
ptrace (read),
network netlink raw,
@{exec_path} mr,
/etc/login.defs 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,
/etc/subuid r,
@{PROC}/ r,
@{PROC}/@{pids}/task/ r,
# To create and move user dirs
@{HOME}/{,**} rw,
/var/{,**} rw,
include if exists <local/usermod>
}