[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: