PamNssInstaller project Status.
Our two tools update-pam and update-nsswitch in charge of modifying the conffiles, where finished last month. And have been testing it in their future packages, libpam-runtime for update-pam and base-files for update-nsswitch. But we shouldn’t submit them until Summer of code finishes and all the bits of the project are done.
Debconf for modules
Well with them tools we can modify in a polite way from the postinst script the pam.d/* files and the nsswitch.conf trough the updaters.
This mechanism is being tested now in libpam-ldap and libnss-ldap packages. I have both of them with a new Debconf dialog asking to the user if he want to activate the module in that moment. So if the answer is yes, the updaters modify the files as the way is said in the doc of the package.
Debian Installer.
I’m starting with the new udeb which will be incharge in a future of asking the user who is installing the system if he would like to use some kind of authentication service.
A list of available systems will be prompted and through a multiselect he could select what he wants to use.
The list will only show the systems wich their packages implement the debconf dialogs to use the updaters at postinst.
After the selection the packages will be hooked for installation with apt-install.
This way when the installation is finished, the system is prepared to log on the selected service since the first login.
Filed under: Debian, DebianPl, Google Summer of Code, Software Libre, perl | 1 Comment
Tags: Debian, DebianPl, Google Summer of Code


Hi, I’m the maintainer of nss-ldapd (a derivative of nss_ldap). The package already modifies /etc/nsswitch.conf so you might have a look there.
Since /etc/nsswitch.conf looks like a simple configfile at first glance, the order of the entries are however very important, the action items are probably complex to support and not every module should be available for all databases.
I couldn’t find a link to any code in your post (haven’t put too much effort in searching yet). Any pointers so I can have a look?