username best practices and other conventions

Dax Kelson dax at gurulabs.com
Thu Mar 2 07:55:33 UTC 2006


I was wondering if Fedora had any guidelines for valid usernames.
Especially usernames that are part of base and extra packages?

Since, well forever, I've understood the UNIX and Linux username best
practices to be:

(a) all lowercase
(b) alphanumeric with exception that first char must not be a number
(c) 8 char max length

The origin of (a) I believe comes from the fact that historically there
was a one-to-one mapping between email addresses and usernames and since
email addresses are not case sensitive, usernames that only differ by
case cause email ambiguities.

I'm not sure the origin of (b).

The origin of (c) comes from the fact that's the way it has always been
and older tools and file formats make only have room for 8 characters
such as old tar or cpio. Additionally once a username exceeds 8
characters some tools such as /bin/ps and /bin/ls start behaving
differently. This can cause a cascade problem when sys admins write
elaborate scripts or even one-off temporary scripts that because
non-temporary and parse the output of /bin/ps or /bin/ls.

For example, a script that is expecting the first column of /bin/ps
output to be a username, might go bonkers if it encounters:

avahi     2250  0.0  0.0   2744   436 ?        Ss   Mar01   0:00 avahi-daemon: chroot helper process
root      2259  0.0  0.0   3084  1172 ?        Ss   Mar01   0:00 cups-config-daemon
68        2269  0.0  0.1   5072  3476 ?        Ss   Mar01   0:02 hald
root      2270  0.0  0.0   3084  1140 ?        S    Mar01   0:00 hald-runner
68        2276  0.0  0.0   2192   896 ?        S    Mar01   0:00 /usr/libexec/hald-addon-acpi
68        2285  0.0  0.0   2196   900 ?        S    Mar01   0:00 /usr/libexec/hald-addon-keyboard
root      2292  0.0  0.0   2152   840 ?        S    Mar01   0:00 /usr/libexec/hald-addon-storage
root      2305  0.0  0.0   1548   448 tty2     Ss+  Mar01   0:00 /sbin/mingetty tty2

IMHO, Fedora should respect the traditional best practices and
conventions (not speaking solely about usernames) and not violate them
without good reason. It seems there is maybe a carefree indifference or
possibly ignorant attitude about the "old ways". Breaking long standing
conventions in itself violates the principal of least surprise --
something sys admins do not care for.

In regards to the username violations on my FC4 box I see three
usernames exceeding the 8 characters in length and on my rawhide box I
see five. It is getting worse.

For the sake of conversation here is list from a fresh rawhide install
with a moderate amount of packages installed.

lp = 2
adm = 3
bin = 3
ftp = 3
gdm = 3
ntp = 3
rpc = 3
rpm = 3
xfs = 3
dbus = 4
halt = 4
mail = 4
news = 4
nscd = 4
pcap = 4
root = 4
sshd = 4
sync = 4
uucp = 4
vcsa = 4
avahi = 5
games = 5
named = 5
smmsp = 5
squid = 5
apache = 6
daemon = 6
gopher = 6
nobody = 6
netdump = 7
rpcuser = 7
torrent = 7
mailnull = 8
operator = 8
shutdown = 8
distcache = 9
haldaemon = 9
nfsnobody = 9
webalizer = 9
beagleindex = 11

It isn't a universal trend, but it seems that the newer the program the
longer the username.

Any comments from the powers that be on this topic? Personally I'd love
to see these 9+ usernames "fixed".

Dax (getting a grey goatee) Kelson





More information about the devel mailing list