Skip to main content

Tool for testing PAM configurations

Project description

pam-tester

pam-tester is a tool to verify PAM auth configurations. It is intended to run in CI settings where you want to make sure you are generating a working PAM configuration. But it can also be used in many other settings.

Features:

  • support username and password auth with one factor
  • check different pam stacks
  • check for failed auth conditions

Installation

You can either clone this repository and run pam-tester.py with your local Python. Or you can use a prebuild executable that should be usable on most current Linux distributions.

Download

wget https://github.com/schurzi/pam-tester/releases/download/latest/pam-tester
chmod +x pam-tester
./pam-tester

Build

git clone https://github.com/schurzi/pam-tester
cd pam-tester
pip install -r requirements.txt
python pam-tester.py

Usage

Usage: pam-tester [OPTIONS]

  A basic testing programm for PAM tests.

Options:
  --user TEXT      username for authentication.
  --password TEXT  Password of the user.
  --stack TEXT     PAM stack to test.
  --expectfail     invert return code (True if PAM stack failed, False if success).

  --help           Show this message and exit.

If you call this tool without any options, it will try to authenticate as root. The password will be queried, if you do not specify one via option. The default PAM stack login is used, if you want to check any other stack (indicated by the filename in /etc/pam.d) you have to specify this stack by name.

Examples

useradd -m testuser
echo "Sup3rPassw0rd" | passwd testuser --stdin
# --------------------------------------------------
./pam-tester --user testuser --password Sup3rPassw0rd
# authenticating user testuser in PAM stack login, status: PAM code 0, PAM reason Success
echo $?
# 0
# --------------------------------------------------
./pam-tester --user testuser --password test
# authenticating user testuser in PAM stack login, status: PAM code 7, PAM reason Authentication failure
echo $?
# 1
# --------------------------------------------------
./pam-tester --user testuser --password Sup3rPassw0rd --expectfail
# authenticating user testuser in PAM stack login, status: PAM code 0, PAM reason Success
echo $?
# 1
# --------------------------------------------------
./pam-tester --user testuser --password test --expectfail
# authenticating user testuser in PAM stack login, status: PAM code 7, PAM reason Authentication failure
echo $?
# 0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pam_tester-0.0.3.tar.gz (2.4 kB view details)

Uploaded Source

Built Distribution

pam_tester-0.0.3-py3-none-any.whl (3.1 kB view details)

Uploaded Python 3

File details

Details for the file pam_tester-0.0.3.tar.gz.

File metadata

  • Download URL: pam_tester-0.0.3.tar.gz
  • Upload date:
  • Size: 2.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pam_tester-0.0.3.tar.gz
Algorithm Hash digest
SHA256 2f823c94e1d5cd2bae9a0c1fbad09d255bd2eb05907c9fb990c6c95b048787a7
MD5 aaf255b997e910db6c1502addc1f4ebb
BLAKE2b-256 80eeed0904f55f2f7d455ea2dae844101b3397e64ff8e6386572d0714d0b6f8d

See more details on using hashes here.

File details

Details for the file pam_tester-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: pam_tester-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 3.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pam_tester-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c88b2537a4f81c0ab91f4a7b6a5bc5fbf52e7078f5aff2f9271329dd62bbbe03
MD5 2ce1e4621a4084625039cb430bf93c39
BLAKE2b-256 759be00acd2246685f7ba33cc39fa7984061af7b77cd6c8eab240f3d50cef622

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page