Re: About valid and invalid user names
On Sat, Feb 05, 2005 at 01:38:36PM +0100, Marc Haber wrote:
> Hi,
>
> adduser has two bug reports open where people are asking for user name
> rules to be relaxed. One report wants "." to be allowed in user names,
> another wants usernames to start with numbers.
>
> May I ask for your opinion before denying or following the requests?
Let's quote SUS a little.
Base def (Definitions)
Login Name
A user name that is associated with a login.
User ID
A non-negative integer that is used to identify a system user. When
the identity of a user is associated with a process, a user ID value
is referred to as a real user ID, an effective user ID, or a saved
set-user-ID.
User Name
A string that is used to identify a user; see also User Database . 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.
Portable Filename Character Set
The set of characters from which portable filenames are constructed.
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 . _ -
The last three characters are the period, underscore, and hyphen
characters, respectively.
>From the chown utility:
The following operands shall be supported:
owner[:group]
A user ID and optional group ID to be assigned to file. The
owner portion of this operand shall be a user name from the
user database or a numeric user ID. Either specifies a user ID
which shall be given to each file named by one of the file
operands. If a numeric owner operand exists in the user
database as a user name, the user ID number associated with
that user name shall be used as the user ID. Similarly, if the
group portion of this operand is present, it shall be a group
name from the group database or a numeric group ID. Either
specifies a group ID which shall be given to each file. If a
numeric group operand exists in the group database as a group
name, the group ID number associated with that group name shall
be used as the group ID.
[...]
The BSD syntax user[. group] was changed to user[: group] in this
volume of IEEE Std 1003.1-2001 because the period is a valid
character in login names (as specified by the Base Definitions
volume of IEEE Std 1003.1-2001, login names consist of characters
in the portable filename character set). The colon character was
chosen as the replacement for the period character because it would
never be allowed as a character in a user name or group name on
historical implementations.
Kurt
Reply to: