POSIX states this about usernames:
[...] To be portable across systems conforming to IEEE Std 1003.1-2001, the value is composed of characters from the portable filename character set. The hyphen should not be used as the first character of a portable user name.
... where the portable filename character set is:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
a b c d e f g h i j k l m n o p q r s t u v w x y z
0 1 2 3 4 5 6 7 8 9 . _ -
Also, the manpage for the
/etc/adduser.conf file states:
adduser and addgroup enforce conformity to IEEE Std 1003.1-2001,
which allows only the following characters to appear in group
and user names: letters, digits, underscores, periods, at signs
(@) and dashes. The name may not start with a dash. The "$" sign
is allowed at the end of usernames (to conform to samba).
An additional check can be adjusted via the configuration
parameter NAME_REGEX to enforce a local policy.
Whilst both specifications seem to include the dot, Ubuntu (on my 13.04 at least) seems to disallow it:
⊳ sudo adduser as.df
adduser: Please enter a username matching the regular expression configured
via the NAME_REGEX[_SYSTEM] configuration variable. Use the `--force-badname'
option to relax this check or reconfigure NAME_REGEX.
NAME_REGEX in Ubuntu is (from the
- Starting with a lowercase letter then any number of dashes, lowercase letters or digits. No
in conclusion a dot
. may be used for a Ubuntu username, the
NAME_REGEX just has to be changed in
/etc/adduser.conf. Seeing as it conforms to POSIX, there shouldn't be any problems with having a
. in the username with any POSIX-compliant program.