我刚刚通过标准 cli 菜单驱动界面安装了 Ubuntu Server,它提示我创建一个新帐户。
尝试创建我的数字用户(例如 12345
),我得到了一个“无效的用户名" 错误,指定用户名必须以小写字母开头。
所以我创建了一个替代用户名并登录没有问题。
然后,作为 root 用户,我使用该useradd
命令创建我喜欢的数字用户名,并且它创建时没有错误或注释。
检查配置文件后/etc/adduser.conf
,发现虽然有该NAME_REGEX="^[a-z]..."
条目,但被注释掉了,因此不是默认的。
那么,当它不是默认设置时,为什么要在安装时强制执行它,导致我每次安装时都必须执行此例程呢?
是否有其他方法可以在安装时强制使用数字用户,或者我是否需要研究 kickstart 选项?
不幸的是,根据我的客户政策,我的用户名必须是数字。
答案1
在我看来,你需要建议你的客户改变他们的政策。作为 乌尔里希·施瓦茨在评论中说,全数字用户名竟然有效,这有点令人惊讶。
12345
考虑一下:如果系统中存在名为 的用户,您将如何使用该chown
命令将文件的 uid 更改为数值 12345?提示:这实际上是可能的,但即使是联机帮助页也没有说明如何实现。任何尝试执行此类操作的自动化脚本都可能会失败。
并且chown
不是唯一的命令。当暴露于全数字用户名时,系统的其他组件很可能会以更糟糕的方式崩溃。
有一个关于更改遵循的规则的主题adduser
。显然它曾经禁止以数字开头的名字。