Короче. Делается всё элементарно - ищется модуль для системной библиотеки с названием, типа nss-mysql (для постгреса такой есть), ставится в систему, строится на предмет сервера и таблиц и вообще забывается про то, как кто где авторизуется.Серьезный минус только один - нужно заставить PAM при создании пользователя шифровать пароль и засылать его на SQL-сервер. Ручной метод "втупую" - "adduser xxx; passwd xxx", заглядываем в /etc/shadow, берем оттуда пароль, сами запросом втыкаем его в нужную таблицу, "userdel xxx; rm -rf /home/xxx".
Плюсы:
a) в /etc/passwd, /etc/group и /etc/shadow никаких ссылок на пользователей нет - всё лежит в базе;
б) пароли от запрашивающей программы никуда не передаются - от сервера поступает пароль в зашифрованном виде в соответствии с системой, в которой его шифровали (в линухе в последнее время обычно MD5). То есть открытые пароли по сети вообще не бегают;
в) данные по соответствию uid/gid символьным именам пользователей и групп доступны любой программе. Если не использовать nss, то половина серверных программ вообще работать не будет. Например, почтовые сервисы;
г) имеется масса потенциальных возможностей, которых нет в стандартных средствах *nix.
Я пол-года назад почти дописал сетевую авторизации со своим протоколом (дабы отвязать клиента от конкретной SQL-базы вообще - к ней привязана только серверная часть) с использованием механизма NSS и базы PostgreSQL. Отлично работал. За основу клинетской части был взят тот самый nss-pgsql и капитально переписан.
Сейчас потихоньку переделываю всё это хозяйство - сервер перевел на потоки с порционным созданием в зависимости от нагрузки (аля NetWare), наворотил конфигурацию (в принципе, можно создавать группы в группах, чего нельзя делать стандартными средствами *nix), имеется возможность раздавать свои данные разным сервисам (например, зачем команде "ls -l" посылать пароль, если ей нужно только имя пользователя и группы узнать) на разных машинах, имеется возможность кеширования на стороне клиента и на стороне сервера (на случай частых запросов одного и того же; например, "ls -l ~/"). Есть некоторые мысли по поводу защиты от DoS-атак. Еще некоторые улучшения будут. Планирую в ближашие пару месяцев таки добить это дело и пустить в работу на офисе, если времени будет достаточно. А то совсем загрузили фигней всякой :)