Mirror Question: https://unix.stackexchange.com/questions/217300/where-how-is-user-group-information-stored-in-ubuntu. (I’ll remove one of them after I got the answer)
Two places possible: /etc/group and /etc/passwd.
If I use command: adduser [username] [groupname], then the user would be added to the group, and the file /etc/group would then be updated.
However, the file /etc/passwd is not updated. if I check which group I belongs to, via groups command, I can only see groups stated in passwd file.. therefore, the user is not added to the group base on this result.
I’m confused.
- What’s the meaning of storying group info into
/etc/passwd, and/etc/grouprespectively? - Why
adduseronly update thegroupfile? - How to add group to the
passwdfile via command? - Why does
groupsreturn group info frompasswdfile, but notgroupfile?
Thanks.
Advertisement
Answer
- In these traditional text files (there are other ways, e.g. LDAP), your primary group goes to
/etc/passwd(it’s e.g. used for permissions of files you create), all additional groups go to/etc/group. - see 1.
- That’s impossible, but you can change a primary group with
usermod -g - That’s a misinterpretation,
groupsshows all groups. But a new group is only picked up when you start a new session (new login). You can use thenewgrpcommand, that starts a session with the given group name as your primary group (you must be member of this group) — as a side effect, it will consult the user database and update your groups list.