为什么Linux用户名不能以数字开头?

43Tesseracts

有技术上的原因吗?这是Linux或Unix早期的人工产物吗?如果是这样,那么它持续存在的原因是什么?

thomas_d_j

一些命令(例如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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

不能以字符开头或结尾的用户名

Rails-不能以字符开头或结尾的用户名

为什么标识符不能以数字开头?

为什么标识符不能以数字开头?

为什么参数名称不能以数字开头?

为什么SQL表名不能以数字开头?

使用Linux用户名称空间,为什么clone()可以挂载/ proc,而unshare()不能挂载?

Django - 为什么我不能检索用户名?

为什么标识符不能以 Rust 中的数字开头?

为什么FreeBSD上的某些用户名以下划线开头?

密码不能以数字开头

为什么不能在用户名称空间中绑定挂载“ /”?

.net Core 2.0 Signalr为什么我不能使用用户名发送

为什么用户名不能在URI中识别

即使使用“ userdel”删除了用户名,为什么仍然显示用户名

组名不能以数字开头吗?

为什么不能以这种方式验证用户输入?Python

为什么我不能以这种方式删除用户对象?

Process。开头为“ Everyone”的用户名?

为什么用户名没有UID?

登录sqlplus后为什么总是打印用户名?

为什么不显示用户名和图像?

如果指定用户名,为什么我的getopts失败?

为什么我的程序不显示用户名?

为什么要使用自己的用户名运行apache?

为什么agetty要求用户名本身?

为什么我的用户名突然添加了@dhcp?

为什么debian安装程序会强迫我使用以z开头的用户名,而adduser却没有这样做呢?

为什么不能Java变量名以数字开头?