Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


The PAM Helper is an executable that can be invoked by to perform authentication without being dynamically linked to libpam. This is exceptionally useful for environments where dynamic linking is not practical. It also means that the code does not need to be linked to libpam, which allows it to be better tested. Finally, by being pure Go, it is not necessary to import unsafe or C and write FFI code.

This executable provides the authentication and account types. Session logging information is left as an excercise to the reader, and changing authentication secrets is something which must be handled by the NetAuth tooling directly.