[CentOS] Why are dots in username & groupname no longer allowed?

James Fidell james at cloud9.co.uk
Fri Jan 6 01:37:58 UTC 2006


Quoting Aleksandar Milivojevic (alex at milivojevic.org):
> Quoting Robin Mordasiewicz <robin at bullseye.tv>:
> 
> > On Thu, 5 Jan 2006, Benjamin Smith wrote:
> >
> >> Try this one:
> >>
> >> chown -R c.smith.users /home/c.smith
> >>
> >> See the problem?
> >>
> > what about
> > chown -R c.smith:users /home/c.smith
> 
> The ':' is not really an solution because it doesn't really address the 
> problem.
> The problem is that the first syntax (using dot) is valid.
> 
> Consider you have users "foo" and "foo.bar" and group "bar". What
> will "chown foo.bar file" do? Change the owner of the file to user
> foo.bar or change the owner to foo and group to bar? Yes, you can use
> column instead of dot on command line. However, many scripts still use
> dot (and there is nothing wrong with it, since using dot to separate
> username and group is perfectly valid).

To argue that "." is disallowed in usernames because it has special
syntactic meaning to "chown" then it may be necessary to explain why "-"
is allowed in filenames when it has special syntactic meaning to many
commands.

chown(2) doesn't care about dots in usernames and it would be easy enough
to code chown(1) to allow a dotted username to be escaped, so it's not
really a compelling reason for disallowing them.

However, where dots have not been allowed in usernames historically, it
may be inadvisible to start allowing them to avoid breaking any code that
implicitly or otherwise assumes that usernames won't contain dots.

James



More information about the CentOS mailing list