openpam_borrow_cred(3)

openpam_borrow_cred3

Temporarily borrow user credentials

Usage

#include <sys/types.h>

#include <security/pam_appl.h>

#include <security/openpam.h>

int

openpam_borrow_cred(pam_handle_t *pamh, const struct passwd *pwd);

Overview

The openpam_borrow_cred() function saves the current credentials and switches to those of the user specified by its pwd argument. The affected credentials are the effective UID, the effective GID, and the group access list. The original credentials can be restored using openpam_restore_cred(3).

Return values

The openpam_borrow_cred() function returns one of the following values:

[PAM_SUCCESS]

Success.

[PAM_BUF_ERR]

Memory buffer error.

[PAM_PERM_DENIED]

Permission denied.

[PAM_SYSTEM_ERR]

System error.

Releases

56 releases since FreeBSD 5.0-RELEASE; the text changed 15 times.

  1. 5.0
  2. 5.1
  3. 5.2–5.2.1
  4. 5.3–5.5
  5. 6.0–6.3
  6. 6.4
  7. 7.0
  8. 7.1–9.1
  9. 9.2
  10. 9.3–10.0
  11. 10.1–11.2
  12. 11.3–11.4
  13. 12.0–12.2
  14. 12.3–13.2
  15. 13.3–14.5
  16. 15.0–16.0

Standards

The openpam_borrow_cred() function is an OpenPAM extension.

Authors

The openpam_borrow_cred() function and this manual page were developed for the FreeBSD Project by ThinkSec AS and Network Associates Laboratories, the Security Research Division of Network Associates, Inc. under DARPA/SPAWAR contract N66001-01-C-8035 (“CBOSS”), as part of the DARPA CHATS research program.

The OpenPAM library is maintained by Dag-Erling Smørgrav ⟨[email protected]⟩.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.