Red Hat Bugzilla – Bug 1139318
useradd allows usernames that break many basic tools
Last modified: 2014-09-10 09:48:46 EDT
Description of problem: useradd allows digit only usernames. That, however, breaks some basic tools that take both username and UID as their argument, like setfacl or getent: [root@rhel7 ~]# grep 500001 /etc/passwd 500001:x:1001:1001::/home/500001:/bin/bash test:x:500001:1001::/tmp:/bin/bash [root@rhel7 ~]# getfacl /tmp/test getfacl: Removing leading '/' from absolute path names # file: tmp/test # owner: root # group: root user::rw- group::r-- other::r-- [root@rhel7 ~]# setfacl -m u:500001:r /tmp/test [root@rhel7 ~]# getfacl /tmp/test getfacl: Removing leading '/' from absolute path names # file: tmp/test # owner: root # group: root user::rw- user:test:r-- group::r-- mask::r-- other::r-- [root@rhel7 ~]# getent passwd 500001 test:x:500001:1001::/tmp:/bin/bash [root@rhel7 ~]# Version-Release number of selected component (if applicable): shadow-utils-4.1.5.1-13.el7.x86_64 How reproducible: always Steps to Reproduce: 1. try to create a user with digits only username Actual results: The user gets created. Expected results: The user does not get created and appropriate error message is printed (useradd: invalid user name). Additional info: N/A
I do not think we should change this behavior in already released RHEL. In general the UNIX philosophy is that the user is allowed to shoot himself into his foot with the UNIX commands. :) However I agree that all numeric user names should be disallowed in Fedora and future major RHEL releases.