zjat02@uunet.uu.net (Jon A. Tankersley) (04/25/89)
I was recently checking into setting up 'global' uids for my company, the pitfalls and benefits thereof and I noticed some interesting things. UID's under 250 are often 'pre-allocated' by vendors. And there are some definite inconsistencies between UNIX versions. The list below is not complete and some of the UID information was taken from systems that have been running for a long time, and may have 'bogus' reserved UID numbers - particularly HP and Ultrix. If anyone can fill in the blanks for the other systems I'd be interested. Big surprise: Look closely at SYS and BIN..... I wonder if OSF, UI, or POSIX, or X/OPEN has considered anything here. Followups have been directed to comp.std.unix. (A) - Indicates Apollo (S) - Indicates Sun (S4) - Indicates SunOS 4.0 (SV) - Indicates AT&T System V R3.2 (DV) - Indicates DEC VMS system (DU) - Indicates DEC Ultrix system (H) - Indicates Hewlett-Packard HPUX system (IA) - Indicates IBM RT AIX bin - owner of binaries daemon - background / automated task user default - DEC VMS catchall userid and groupid field - DEC field services guest - guest account - really shouldn't be around install - AT&T installation account? Software installation? lp - line printer spooler ? lan - network services ? listen - network services ? network - network services ? news - USENET news id (owner of news files and programs) nobody - NFS-mapped userid for root across NFS mounts nogroup - NFS-mapped groupid for wheel/system across NFS mounts nuucp - remote uucp userid (see below) other - catchall group account (everyone in the BSD world) operator - system operator (often root equivalent) printq - special group for people to manipulate printer queues ? root - SuperUser on UNIX ris - DEC Remote Installation Services ? staff - systems staff group sys - owner of 'system' files system - SuperUser on VMS files uucp - UNIX-UNIX copy id for email and file transfer user - catchall group account usr - catchall group account Reserved ID Numbers: Sorted by number Userid Groupid ProjectID(A) nobody(S) -2 nogroup(S) -2 root(S,A) 0 wheel(S,A) 0 wheel 0 field(DU) 0 system(IA,DU) 0 daemon(S,A) 1 daemon(S,A) 1 apollo 1 staff(IA) 1 netmail(IA) 1 manager(DV) 1 other(SV,H) 2 sys(S,A) 2 sys(S,A) 2 kmem(S4) 2 uucp(DU) 2 bin(SV,H,IA) 2 bin(SV,H,IA) 2 bin(S,A) 3 bin(S,A) 3 sys(SV,H,IA) 3 sys(SV,H,IA) 3 uucp(S,A) 4 uucp(S,A) 4 adm(SV,H,IA) 4 adm(SV,H,IA) 4 tty(S4) 4 manager(DV) 4 bin(DU) 4 operator(S) 5 uucp(SV,H) 5 uucp(SV,H) 5 news(S) 6 news(S) 6 tftpd(IA) 6 mail(A,SV,H,AI) 6 ingres(S) 7 ingres(S) 7 news(DU) 8 news(DU) 8 lp(H) 9 sccs(DU) 9 audit(S) 9 printq(IA) 9 nuucp(SV) 10 network(H) 10 lan(H) 11 staff(S,A) 10 ris(DU) 11 ris(DU) 10 news(H) 12 none(A) 12 none(A) 12 none 12 sys_person(A) 13 sys_proj(A) 13 sys_org 13 user(A) 14 locksmith(A) 14 admin(A) 15 login(A) 15 lp(A) 16 backup(A) 16 sys_admin(A) 17 server(A) 18 sys(A) 19 other(S) 20 operator(DU) 28 guest(DU) 31 listen(SV) 37 sync(SV) 67 lp(SV) 71 ingres(S) 74 guest(IA) 100 usr(IA) 100 install(SV) 101 default(DV) 200 default(DV) 200 ingres(DU) 274 -tank- #include <std/disclaimer.h> /* nobody knows the trouble I .... */