Skip to content
/ webnis Public

WebNIS - NIS is alive Jim, but not as we know it. REST server and libpam / libnss clients.

License

Notifications You must be signed in to change notification settings

miquels/webnis

Repository files navigation

Webnis

It's the 21st century. NIS (if you're really old, YP) is dead, but somehow people keep using it. Why? Because it's simple and does the job. So why not replace it with something that is even simpler and uses more recent technologies like those from the first few years of this century. Well, that's selling it short - the technologies are not cutting edge, but it is all written in Rust!.

Webnis contains:

A simple HTTPS server that serves gdbm / json maps indexed by a key. It can in fact serve existing NIS maps from /var/yp/. It can also do authentication by looking up username/password in one of those maps and verifying the password using pwhash::unix::verify().

A NSS module (libnss_webnis.so.2) that does passwd/group lookups via webnis (using webnis-bind).

A PAM module (pam_webnis.so) that authenticates via webnis (using webnis-bind).

A daemon that sits between the webnis-server and webnis-pam/webnis-nss. It checks which servers are alive, does reconnects, keeps a connection pool open, etc. Clients talk to the daemon over a Unix socket.

webnis-utils

Soon! This will contain wncat, wnmatch, wnwhich.

About

WebNIS - NIS is alive Jim, but not as we know it. REST server and libpam / libnss clients.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published