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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f823c94e1d5cd2bae9a0c1fbad09d255bd2eb05907c9fb990c6c95b048787a7 |
|
MD5 | aaf255b997e910db6c1502addc1f4ebb |
|
BLAKE2b-256 | 80eeed0904f55f2f7d455ea2dae844101b3397e64ff8e6386572d0714d0b6f8d |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | c88b2537a4f81c0ab91f4a7b6a5bc5fbf52e7078f5aff2f9271329dd62bbbe03 |
|
MD5 | 2ce1e4621a4084625039cb430bf93c39 |
|
BLAKE2b-256 | 759be00acd2246685f7ba33cc39fa7984061af7b77cd6c8eab240f3d50cef622 |