pam_ihosts is a PAM module that can allow/deny login on the basis of IP address, MAC address or the country-code/registrar associated with an IP. It uses the allocated ip-range files that are downloadable from Regional Internet Registries. pam_ihosts can also check in whitelist/blacklist files and in DNS whitelists/blacklists.
This is a combination of getty, login, and xinit for use on Linux console. Has a friendly curses-based prompt. Scroll through valid login names instead of typing it. Will remember last login name, so all you have to type is the password. Will launch X if .xinitrc is present, or a shell otherwise. Can fallback to plain shell if X fails to start.
A PAM session module for setting resource limits using both rlimit and cgroup2 systems. It creates a cgroup for every login and applies various resource limits to it.
A linux PAM module that allows using USB flashdrives as authentcation tokens. Written mostly as a learning exercise, the code has been commented in the hope of providing a template to others interested in creating PAM modules. It can be used in combination with password authentication to prevent login or 'su' unless a particular usb-key is plugged into the system.
LightDM is display and login manager for X11/Mir. It's rather lean, integrates with ConsoleKit, PAM or logind. It provides greeter frontends for Gtk, Qt, KDE and a WebKit UI. It also provides remote session (XDMCP, VNC, RDP) connectors.