2015-03-28 19:44:51 -05:00
|
|
|
[](https://travis-ci.org/msteinert/pam)
|
|
|
|
|
[](http://godoc.org/github.com/msteinert/pam)
|
2015-04-09 13:52:12 -05:00
|
|
|
[](https://coveralls.io/r/msteinert/pam?branch=master)
|
2015-04-10 15:11:06 -05:00
|
|
|
[](http://goreportcard.com/report/msteinert/pam)
|
2015-03-28 19:44:51 -05:00
|
|
|
|
|
|
|
|
# Go PAM
|
|
|
|
|
|
|
|
|
|
This is a Go wrapper for the PAM application API. There's not much
|
|
|
|
|
else to be said. PAM is a simple API and now it's available for use in Go
|
|
|
|
|
applications.
|
|
|
|
|
|
|
|
|
|
There's an example of a "fake login" program in the examples directory.
|
|
|
|
|
Look at the pam module's [godocs][1] for details about the Go API, or refer
|
|
|
|
|
to the official [PAM documentation][2].
|
|
|
|
|
|
2015-03-30 19:16:13 -05:00
|
|
|
## Testing
|
|
|
|
|
|
|
|
|
|
To run the full suite, the tests must be run as the root user. To setup your
|
|
|
|
|
system for testing, create a user named "test" with the password "secret". For
|
|
|
|
|
example:
|
2015-03-29 11:25:00 -05:00
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ sudo useradd test \
|
|
|
|
|
-d /tmp/test \
|
|
|
|
|
-p '$1$Qd8H95T5$RYSZQeoFbEB.gS19zS99A0' \
|
|
|
|
|
-s /bin/false
|
|
|
|
|
```
|
|
|
|
|
|
2015-03-30 19:16:13 -05:00
|
|
|
Then execute the tests:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
$ sudo GOPATH=$GOPATH $(which go) test -v
|
|
|
|
|
```
|
|
|
|
|
|
2015-03-28 19:44:51 -05:00
|
|
|
[1]: http://godoc.org/github.com/msteinert/pam
|
2015-09-03 15:12:29 -05:00
|
|
|
[2]: http://www.linux-pam.org/Linux-PAM-html/Linux-PAM_ADG.html
|