有技术上的原因吗?这是Linux或Unix早期的人工产物吗?如果是这样,那么它持续存在的原因是什么?
一些命令(例如chown
)可以接受用户名或数字用户ID,因此允许使用全数字的用户名会破坏这一点。
允许名称以数字开头并包含一些字母的规则可能被认为是不值得的。相反,只需要以字母字符开头。
编辑:
从其他响应中可以看出,某些发行版已经颠覆了这一限制。在这种情况下,根据GNU Core Utils文档:
POSIX要求这些命令首先尝试将指定的字符串解析为名称,只有一次失败,然后尝试将其解释为ID。
$ useradd 1000 # on most systems this will fail with:
# useradd: invalid user name '1000'
$ mkdir /home/1000
$ chown -R 1000 /home/1000 # This will first try to map
# to username "1000", but this may easily be misinterpreted.
添加名为“ 0”的用户只会带来麻烦(UID 0 == root用户)。但是,请注意,组/用户ID参数前面可以带有“ +”号,以强制将其解释为整数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句