Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I accidently gave chmod 777 permission on /var directory in linux server.
Now I'm observing following errors:

id: cannot find name for user ID 673910804
id: cannot find name for group ID 673710593
id: cannot find name for user ID 673910804
[I have no name!@tb-linux-d08 ~]$

Please help me how to get rid of this error.

share|improve this question

migrated from stackoverflow.com Apr 29 '13 at 6:02

This question came from our site for professional and enthusiast programmers.

    
Bummer deal.... –  squiguy Apr 29 '13 at 6:00
    
Can you post your /etc/passwd content related to your account. –  max Apr 29 '13 at 7:19
    
And also check permission of /etc/passwd file. It should be 644 that means -rw-r--r--. –  max Apr 29 '13 at 7:26

3 Answers 3

The /var permissions are either a red herring or incidental. For the uid-to-name lookup to work, the following must be correct, in order:

  • /etc/nsswitch.conf needs to have permissions 0644, owner root:root.
  • The passwd entry in that file needs to be correct - given the very large IDs, you're probably not using just the local password file, but some ldap or AD setup? Make sure that it's listed, and listed early on.
  • The service that actually provides your identities needs to be up and running and accepting your queries - for local users, that means that /etc/passwd must have permissions 0644 and owner root:root.
  • The client library for your identity service may have permissions requirements for its config, cache, or both. This is where the /var permissions would come in, but without knowing more about what you use for authentication, that's not possible to troubleshoot. At a minimum, make sure that /var itself has permissions 0755, owner root:root; directories it contains should be owned by either an obvious system user/group (e.g. "mail" for /var/mail) or root, and not be world-writable (with the exception of /var/tmp, if it exists, which should be root-owned and have permissions 1777).

If that doesn't help (and even if it does), please provide more information about your auth system - LDAP, samba, AD (via what?), or something else.

share|improve this answer

You need to use:

  1. chown
  2. chgrp

You can use these to reset the correct user/group for the permissions you need on your folder.
You should also chown the folder to ensure the permissions are back to what is needed for your implementation.

More than likely you will need you set the permissions to something like 600/700 with root as the user. But once again, I don't know what you're doing in that directory so it depends on what you need to do.

share|improve this answer

I had this problem once, a misbehaving script had modified permissions of several files in /etc/ on my machine.

The solution was to restore permissions on /etc/nsswitch.conf:

$ chmod 644 /etc/nsswitch.conf
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.