I login to a linux box with username user1 and my home folder is in /home. There is another user named user2 that has its home directory in /opt/data/folder.

If I want to check the list of users I inspect the file /etc/passwd in this simple way

grep user1 /etc/passwd
grep user2 /etc/passwd

I cannot find neither my user, not the other: Why is that? Is there any other file or command I should look to have a proper list of users?

1 Answer 1


That is because the users database is stored elsewhere, for example an LDAP. Use getent passwd $USER to resolve your user. Make sure you read nsswitch.conf(5) with command man nsswitch.conf to understand how and where can be users (and some other) databases stored.

  • 1
    My intention was to change the password of that user (via root) on that machine but it looks like I have to gather more information; seems that the user has not been added by doing the usual useradd , isn'it? Apr 9, 2013 at 6:50
  • 1
    Exactly. Having root access to the machine doesn't imply you have admin access to an LDAP, though.
    – dawud
    Apr 9, 2013 at 7:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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