pam_cap8
Capabilities pam module
Usage
[service-name] auth control-flag pam_cap [options]
Overview
The pam_so module can be used to specify Inheritable capabilities to process trees rooted in the PAM application. The module also supports blocking Bounding vector capabilities and adding Ambient vector capabilities.
For general PAM apps to work correctly, the application must be run with at least CAP_SETPCAP raised in its Permitted capability flag. Many PAM applications run as root, which has all of the bits in the Bounding set raised, so this requirement is typically met. To grant an Ambient vector capability, the corresponding Permitted bit must be available to the application too.
The pam_so module is a Linux-PAM auth module. It provides functionality to back pam_sm_authenticate() and pam_sm_setcred(). It is the latter that actually modifies the inheritable 3-tuple of capability vectors: the configured IAB. In a typical application configuration you might have a line like this:
-
auth optional pam_cap.so
The module arguments are:
- ○
-
debug: While supported, this is a no-op at present.
- ○
-
config=/path/to/file: Override the default config for the module. The unspecified default value for this file is/etc/security/capability.conf. Note,config=/dev/nullis a valid value. Seedefault=below for situations in which this might be appropriate.
- ○
-
keepcaps: This is as much as thepam_cap.somodule can do to help an application support use of the Ambient capability vector. The application support for the Ambient set is poor at the present time.
- ○
-
autoauth: This argument causes thepam_cap.somodule to returnPAM_SUCCESSif thePAM_USERbeing authenticated exists. The absence of this argument will causepam_cap.soto only returnPAM_SUCCESSif thePAM_USERis covered by a specific rule in the prevailing config file.
- ○
-
default=IAB: This argument is ignored if the prevailing configuration file contains a "*" rule. If there is no such rule, the IAB 3-tuple is inserted at the end of the config file and applies to allPAM_USERs not covered by an earlier rule. Note, if you want allPAM_USERs to be covered by this default rule, you can supply the module argumentconfig=/dev/null.
- ○
-
defer: This argument arranges for the IAB capabilities granted to a user to be added sufficiently late in the Linux-PAM authentication stack that they stick. That is, after the application does itssetuid(UID)call. As such, in conjunction with thekeepcapsmodule argument, such compliant applications can support granting Ambient vector capabilities withpam_cap.so.
Releases
7 releases since Debian 8 (Jessie); the text changed 2 times.