无法使用数字用户名添加用户帐户 - useradd:组“11”不存在

Joh*_*ert 0 command-line users adduser user-management groups

我是 Kubuntu 的业余用户,有很多东西要学。

我正在尝试创建一个以数字命名的用户帐户。我有sudo特权,我也在 root 帐户上尝试过。

显然,要添加这样的帐户,您必须使用以下命令:

sudo adduser --force-badname
Run Code Online (Sandbox Code Playgroud)

然后是号码。

我试过了,它适用于 10 个帐户。十一期间,失败并给我一个错误信息:

$ sudo adduser --force-badname 11
Allowing use of questionable username.
Adding user `11' ...
Adding new group `11' (1010) ...
Adding new user `11' (1010) with group `11' ...
useradd: group '11' does not exist
adduser: `/usr/sbin/useradd -d /home/11 -g 11 -s /bin/bash -u 1010 11' 
returned error code 6. Exiting.
Run Code Online (Sandbox Code Playgroud)

最终,我将命令更改useradd为添加帐户,它声称:

useradd: group 11 exists - if you want to add this user to that group, use -g.
Run Code Online (Sandbox Code Playgroud)

所以我输入:

$ useradd -g 11
useradd: group '11' does not exist
Run Code Online (Sandbox Code Playgroud)

所以我求助于原来的 adduser 命令:adduser --force-badname 11 允许使用可疑的用户名。

adduser: The group `11' already exists.
Run Code Online (Sandbox Code Playgroud)

说到这里,我很生气,但是我用groupdel命令删除了11组。我试过了groupdel 11。确认命令有效后,我继续执行adduser命令,并在 root 帐户上输入adduser --force-badname 11.

并收到与我开始时相同的错误消息!

Allowing use of questionable username.
Adding user `11' ...
Adding new group `11' (1010) ...
Adding new user `11' (1012) with group `11' ...
useradd: group '11' does not exist
adduser: `/usr/sbin/useradd -d /home/11 -g 11 -s /bin/bash -u 1012 11'
returned error code 6. Exiting.
Run Code Online (Sandbox Code Playgroud)

Rav*_*ina 5

不要这样做,而是使用以u11.


这是发生了什么:

您正在尝试创建一个名为 的用户11,因此将创建11一个与您的用户的主要组同时命名的组。

这个新创建的组将获得一个比> 1000like:更大的 id :1003在您的/etc/group文件中,它的行将是: 11:x:1003

在添加这个新用户时useradd尝试将其添加到其主要组中11,但是在执行此操作时,它认为11是一个组 id,因此它抱怨没有这样的组 id 为 11。

  • 当它说“存在第 11 组”时,表示您有一个名为“11”的组,并且
  • 当它说“组'11'不存在”时,这意味着我找不到任何ID为“11”的组。

为什么它适用于前 10 个帐户

因为默认情况下,Ubuntu 系统中有一些 ID 为 0 到 10 的组。因此它将您的用户分配到这些组并且不会抱怨它。但是,对于 11,您有一个名为 的11组,但没有 id 为 的组11

解决方法

所以正如穆鲁所说,这只是你问题的开始,不要这样做。但是,如果您坚持要解决该问题,您应该找到组 ID 并使用它:

$ grep ^11 /etc/group
11:x:1003

$ sudo useradd 11 -g 1003
Run Code Online (Sandbox Code Playgroud)

不要忘记使用usermod更改前 10 个用户组 ID。