I came across the command getent group sudo to list sudoers in sudo group and I got the output sudo:x:27:lion now I wounder what is the meaning of :x:, colon and 27 ... also I see same symbols in /etc/passwd... so what do these symbols mean ?
- 56,709
- 26
- 150
- 232
- 295
- 1
- 6
-
Why the downvoting ? – WLION May 18 '16 at 20:42
2 Answers
getent group displays entries from the group database. The local group database is the file /etc/group, whose format is documented in the group(5) man page.
Each line in this file is a database entry, representing one group. The columns on a line are separated by a colon. The second column is the password hash.
The user database /etc/passwd has a similar format, with different contents in the columns. The first two columns are the name and password hash, like with the group.
These files have a column for the password only for backward compatibility. Normally the password hash is not in the publicly readable user/group database, but in another database called the shadow database (/etc/shadow for users, /etc/gshadow for groups) which contains password hashes and other account information such as expiry dates, and which can only be read by privileged processes.
It's extremely rare to put a password on a group: normally some users are in the group and the other users aren't. So you can expect the gshadow entries to have * in the password hash column (this isn't a valid hash, it's a marker indicating that there is no way to gain access to the user/group by entering a password).
- 829,060
It's the same output as this:
grep ^sudo: /etc/group
sudois the group namexrepresents a password field27is the GID (Group ID)lionis a member of thesudogroup
Groups can have passwords, too; and their passwords are stored in /etc/gshadow.
man gpasswdman gshadow
- 28,816
- 15,911
-
It's not always the same as
grep ... /etc/groupbecausegetent groupcan fetch group info from multiple sources (including/etc/group, LDAP, NIS, and other sources defined in/etc/nsswitch.conf). This is why it's recommended to usegetentrather than directly extracting info from files like/etc/passwd,/etc/groupetc. – cas May 19 '16 at 00:57