On Linux and Unix-like systems the Name Service Switch is used to gather entries for the systems name databases.

There are databases such as files, dns, nis and ldap. Is it possible to determine for a given user which service was used to add that entry?

Must further information be gathered from the respective tools for those services or is there a standard set of information NSS gathers besides just a name?

Further how does PAM get credentials from NSS? Is it just the username? Is NSS used when PAM is authenticating over ldap? Does PAM call back to NSS? Is PAM even used in LSAP or other networked logins?

Can NSS be bypassed for some other system or is it heavily baked into the kernel?


You can use -s or --service= to specify db backend.

Get entries from administrative database.

  -i, --no-idn               disable IDN encoding
  -s, --service=CONFIG       Service configuration to be used
  -?, --help                 Give this help list
      --usage                Give a short usage message
  -V, --version              Print program version

Check wheter the user is in ldap or files backend by executing

getent -s ldap passwd username

getent -s files passwd username

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.