I've assembled some notes from old manuals and other sources
on the formats used for on-disk file systems through the
Additional notes, comments on style, and whatnot are welcome.
(It may be sensible to send anything in the last two categories
directly to me, rather than to the whole list.)
Trying to understand some users and groups that continue to exist on BSD
Can someone please point me to references or share examples of historical
and/or recent uses of the following users and groups?
Also any clarifications of my understandings below would be appreciated.
(My context is BSD. I know some of these may have different old and
existing uses on other systems.)
I see /var/msgs on NetBSD is owned by daemon. msgs will abort if doing -c
(cleanup) if not root or daemon user. I guess that is historic. I don't
see any daemon user usage.
I understand that historically, the operator user had logins
for those doing disk backups (via its login group privileges).
I understand the operator group, just wondering if any recent uses of
Don't know what uses it.
I understand that historically, these are for processes needing less
privileges than the wheel group. Also historically, programs using
/var/spool directories were setgid daemon. Anything common other than
LPD/LPR still use the daemon group?
I understand that historically, the sys group was used for access to the
kernel (/sys?) sources. (I don't know if that was just read or was for
writing too.) Anyone still use "sys" group? (I guess this is like wsrc
which sometimes I manually setup and use for writing to src directories.)
I understand that historically, used as the group for system binaries, but
commonly the wheel group is used instead. Some third-party software, like
OpenOffice.org, install files owned by the bin group.
How would this differ from wheel or operators?
Any recent systems actually have default use of this?
Any recent systems actually have default use of this?
nobody group versus nogroup group
What is the significance of having both of these groups?
My knowledge comes from my early days at Sun in 84-85 as a rock-n-roll roadie
turned into a UNIX sysadmin. It was passed to me as I was learning how to
take care of trade show Sun Workstations. So take it with a grain of salt.
> daemon user
daemon was for daemon processes that ran in the background but did not want to
run as root. I believe it was used by inetd when it spawned a process but an
not sure. It was also used by sendmail when it gave up its SUID root privileges.
> operator user
operator was a normal user that had privilege to read the raw file systems
through group membership. Sysadmins who did backups would also be a member of
this group. The group I recall in the early days was "kmem" although now
there is a separate group "disk".
> bin user
A user to go with group bin. Typically would be the "proper" owner of all the
binaries and libraries on a system. It has lingered on for far to long
because, IMHO, the vendors had no clue as to why everything was owned by bin
and just kept it that way since "thats the way it's always been".
> bin group
I was told that group bin came from UCB to allow semi-trusted staff to replace
binaries in the file system without giving them the root password.
> staff group
My recollection is that staff was for group read/write permissions for home
directories, separate from group wheel which granted extra privileges
> nobody group versus nogroup group
The nobody group was a group to go with the nobody user introduced with NFS.
nogroup may have been someone's attempt to make the name more obvious, or it
may have been for non-privileged account. But the second case weakens the
protection of a non-privileged account
I was poking around an HP UX system at work today, and noticed a
command I've never noticed before ... /usr/bin/bs.
I'm sure it's been there for a long time, even though I've been an
HPUX admin for more than a decade, sometimes I'm just blind ... but
I tried to search on google ... it looks like only HPUX, AIX, and
Maybe AU/X has it. Seems to be some kind of pseudo BASIC like
Anyone ever use it for anything? Has anyone even noticed it before?
I'll have to boot my Crimson to see if IRIX has it.
Derrik Walker v2.0, RHCE
"There's nothing nice about Steve Jobs and there's nothing evil about
-- Chuck Peddle, MOS 6502 Chip Designer
A note to all 2.11bsd users:
Over the past 2 years several bug fixes for 2.11BSD accumulated, and over
xmas break I finally found the time to communicate them to Steven Schultz.
Steven was so kind to package them into two new patch files
446 issued December 27, 2008
447 issued December 31, 2008
Together, the patches address the following points
- ulrem.s: the unsigned long modulo operator (%) was broken in libkern
- umount: returned inverted exit codes (1 for success, 0 for failure)
- tar: core dumped when a whole /usr tree was archived
- tcsh: the time buildin function printed some erroneous or zero statistics
- ps: core dumped when '-t' option was used with no further argument
- apropos: core dumped when 2 or more arguments were given
- vmstat: wrong normalization for some fields
- several issues around the rk disk driver
- no rk root attach function
- no rk BOOTDEV support
- incorrect UCB_METER code (vmstat/iostat never showed any rk activity)
- autoconfig left the RK11 controller in an error state
- pstat: added additional options to access more kernel data structures
- new -c option, dumping the coremap
- new -m option, dumping the ub_map (UNIBUS map)
- new -b option, dumping the buffer pool table
- change -s output, gives now full table dump
- adapt the info's displayed by -T
- some documentation corrections (vmstat, pstat, tcsh)
Note: In case you wonder, as I did, why 211BSD survived 20 years with a
broken unsigned long % operator:
- only the non-FPP libkern implementation was affected
- the kernel simply doesn't have any unsigned long modulo's :)
- apparently only standalone mkfs after patch 434 was compromised
For the full story of all the above consult the header of the patch files.
The patch files are available from moe.2bsd.com and ftp.wx.gd-ais.com.
Note, that Steven changed the packaging some time ago, the patches are
now packed in bzip'ed tarballs in groups of ten patches. So you'll have
to look into
With best regards,