我正在我的系统中创建一个新用户,通过调用:
sudo useradd -m -G nas -s /bin/bash alf
据说应该创建一个具有相同UID和GID的新用户.但是,passwd文件附加了以下行:
alf:x:1004:1007::/home/alf:/bin/bash
其中UID为1004,GID为1007.我创建的其他用户具有相同的UID和GID,为什么会发生这种情况?
解决方法:
useradd只在以下任何一种情况下使用相同的UID和GID:
>它不会引起冲突;要么
>使用-u和-g标志强制它
它将跳过已使用的ID.所以,我猜你已经添加了其他用户和/或组,因为你创建了那些具有匹配UID / GID对的用户和/或组.¹
要以锁定步骤恢复ID,您可以使用-g和-u标志创建下一个ID,以使其ID等于超过尚未分配的最高UID和GID的ID.随后的useradd调用将不会填补空白.他们将开始编号超过新的高水位线.
具有去同步的UID和GID值没有任何问题.在这种情况下,系统将完美地工作.旧式Unix通常不使用每用户组方案,因此ID从一开始就不会同步.
脚注:
>您可能没有以交互方式执行此操作.许多软件包会添加组,有时还会添加用户,以限制对该软件包拥有的文件和其他工具的访问.通常他们使用低于1000的操作系统保留组ID执行此操作,但并非总是如此.当他们添加组而不是用户时,它会使两组ID值失去同步.