PERMCTL(8)
π PERMCTL(8) β the chkstat glow-up, bestie
okay so picture this: a whole manual page for permctl, from section 8 (system admin commands, iykyk). yes we're doing system-wide file permissions today and honestly? it's giving main character energy. let's go π
πΈ NAME πΈ
permctl β the tool that checks and sets system wide file permissions β¨
π¦ SYNOPSIS π¦
permctl [OPTIONS] <permission-files...>
permctl --system [OPTIONS] <files...>
like, two whole modes. pick your fighter π
π DESCRIPTION π
The program /usr/bin/permctl is a tool to check and set file permissions. It was previously called chkstat, but it's been renamed to better describe its purpose. glow-up era fr fr β same icon, better name π
permctl can either operate in system mode or on individually specified permission files. In system mode, the file /etc/sysconfig/security determines which profile to use and whether to actually apply permission changes. so it's lowkey the boss of the vibe check π
β¨ OPTIONS β¨
--systemβ Run in system mode. Parses/etc/sysconfig/securityto figure out which profile / security level to use (PERMISSION_SECURITY) and whether to set or merely warn about permission changes (CHECK_PERMISSIONS). In system mode, any non-option arguments limit the set of files to operate on β i.e. just as if the--examineoption was specified for them. so extra args = a subtle little filter, no cap π«Ά--setβ Actually apply the file permissions. The default is to check and warn only, unless in system mode, whereCHECK_PERMISSIONSspecifies the default behavior. so like, this is the "do it for real" button π₯--warnβ Opposite of--set, i.e. warn only, but don't make actual changes. all talk, no action, respectfully π--noheaderβ Omit printing the output header lines which describe the configuration files used bypermctl. bye bye intro text π--fscaps,--no-fscapsβ Enable or disable use of file based capabilities. In system mode the setting ofPERMISSIONS_FSCAPSdetermines whether capabilities are applied, when this option is not set. toggle toggle π§--examine <file...>β Check permissions for this file instead of all files listed in the permissions files. Can appear multiple times. very "just this one, bestie" π--files <filelist...>β Check permissions for the files listed in filelist instead of all files listed in the permissions files. Can appear multiple times. The files must contain the file paths to check, one per line. a lil list of lists, we love recursion-adjacent behavior π--root <directory>β Check files relative to the specified directory. home base relocation β¨
π§ ENVIRONMENT VARIABLES π§
PERMCTL_ALLOW_INSECURE_MODE_IF_NO_PROCβ Allow to operate without mounted/procfile system. This is an unsafe mode that must only be used in controlled environments where unprivileged users can't influence file system operation. β οΈ okay so this one is the "please be careful" one, fr fr β don't just turn it on because it looks fun.
seriously bestie, that env var is a red-flag-coded permission slip. controlled environments only. π
β EXIT STATUS β
permctl returns 1 if any fatal errors have been encountered that prevented it from determining or adjusting file permissions. It returns 2 if --warn was given and one or more entries need fixing. In all other cases it returns 0.
so like: 1 = something broke π, 2 = you asked to warn and yes there's stuff to fix π, 0 = we're so back πΈ
π EXAMPLES π
permctl --set /usr/share/permissions/permissions /usr/share/permissions/permissions.secure
Parses the supplied permission configuration files and applies the permission settings for all files listed there. this is the "actually do the thing" run π₯
permctl --system /usr/bin/ping
Run in system mode and only correct permissions of /usr/bin/ping. ping gets special treatment, as it should π
π SEE ALSO π
permissions(5)β go read that one too, bestie, it's the whole context β¨
π COPYRIGHT π
1996-2003 SuSE Linux AG, Nuernberg, Germany.
2008-2019 SUSE LINUX Products GmbH
2019-2024 SUSE Software Solutions Germany GmbH
πΈ AUTHORS πΈ
Reinhold Sojer, Ruediger Oertel, Michael Schroeder, Ludwig Nussel
Useful changes and additions by Tobias Burnus
Major refactoring by Matthias Gerstner, Malte Kraus
okay that's the whole page!! and for the cute sign-off: this beauty is from the 05/22/2024 edition of the PERMCTL(8) manual β so it's serving you the freshest 2024-era permissions lore π¦π
periodt.
π¦ where this page comes from
- opensuse-leap 16.0: permctl 1699_20250120-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: permctl 1699_20250120-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: permctl 1699_20250120-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: permctl 1699_20250120-160000.2.2 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms