Page MenuHomeFreeBSD

Add expose_authtok option to pam_exec(8).
ClosedPublic

Authored by munro_ip9.org on Jul 7 2018, 11:26 AM.
Tags
None
Referenced Files
Unknown Object (File)
Fri, Mar 29, 2:16 PM
Unknown Object (File)
Feb 22 2024, 10:05 AM
Unknown Object (File)
Jan 10 2024, 8:54 PM
Unknown Object (File)
Dec 20 2023, 12:46 AM
Unknown Object (File)
Dec 12 2023, 9:22 AM
Unknown Object (File)
Nov 25 2023, 3:21 AM
Unknown Object (File)
Nov 23 2023, 4:47 PM
Unknown Object (File)
Nov 1 2023, 7:20 PM

Details

Summary

For compatibility with Linux PAM's pam_exec module, allow the password to be optionally passed to the executed program's stdin.

Test Plan

Install "pamtester" from pkg/ports.

Create an executable script my_script.sh containing:

#!/bin/sh
read password
if [ "$PAM_USER" == "abc" ] && [ "$password" == "123" ] ; then
  exit 0
else
  exit 1
fi

Create /etc/pam.d/my-service containing:

auth required /path/to/pam_exec.so expose_authtok /path/to/my_script.sh
account required pam_permit.so

Now run:

pamtester my-service abc authenticate

It waits for a password; entering "123" succeeds, anything else fails.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

munro_ip9.org edited the summary of this revision. (Show Details)
munro_ip9.org edited the test plan for this revision. (Show Details)

Added handling for EAGAIN on write() (not sure if that case is reachable).

des accepted this revision.
des edited reviewers, added: des; removed: manpages.
This revision is now accepted and ready to land.Aug 14 2018, 12:11 AM