A simple PAM module to authenticate users on Linux-based Operating Systems,
via /etc/shadow
.
The module also supports user banning.
Auth Management Group:
- implement parser for
/etc/shadow
to extract information such as: username, hash algo, salt, etc. (using<shadow.h>
) - implement shadow file hashing algorithms w.r.t salt
- implement
pam_sm_authenticate
(using the above necessities)
Account Management Group:
- get path to banned users file from PAM config file and check for existence of
username
(hence banned) - check if password is expired according to
/etc/shadow
Make the following packages are installed on your machine:
$ sudo apt install libpam-dev
$ sudo apt install libssl-dev
...