Quoting Aleksandar Milivojevic (alex@milivojevic.org):
Quoting Robin Mordasiewicz robin@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