【Linux】创建多个用户报错:useradd: Can‘t get unique subordinate UID range useradd: can‘t create subordinate us

Linux批量创建用户报错解决方案
文章介绍了在Linux系统中遇到无法为新用户分配唯一UID范围的报错,原因是UID已用尽。解决方案包括修改登录定义文件以扩大UID范围或删除旧用户。此外,提供了创建20000个用户,设置密码,并配置邮件系统的bash脚本示例。

👨‍🎓博主简介

  🏅云计算领域优质创作者
  🏅华为云开发者社区专家博主
  🏅阿里云开发者社区专家博主
💊交流社区:运维交流社区 欢迎大家的加入!
🐋 希望大家多多支持,我们一起进步!😄
🎉如果文章对你有帮助的话,欢迎 点赞 👍🏻 评论 💬 收藏 ⭐️ 加关注+💗


报错数据

useradd: Can't get unique subordinate UID range
useradd: can't create subordinate user IDs

报错原因

这个报错是因为:这是由于在创建新用户时,系统无法为其分配唯一的用户ID范围(UID range)所导致的错误。可能是由于系统中已经存在了太多的用户,导致UID已经全部被使用完毕,没有可用的范围来分配给新用户。解决该问题的方法是需要手动为新用户分配一个可用的UID范围。可以通过修改“/etc/login.defs”文件中的“UID_MIN”和“UID_MAX”值来增加可用的UID范围。另外,也可以通过删除一些不必要的用户来释放一些UID范围。

这个是因为需要在服务器中创建20000个用户,但是跑到了8000多个就开始报错。

解决方法

编辑/etc/login.defs,将以下代码追加到文件中。

[root@locahost ~]# vim /etc/login.defs
SUB_UID_MIN   100000
SUB_UID_MAX   2000000000
SUB_UID_COUNT 65536
SUB_GID_MIN   100000
SUB_GID_MAX   20000000000
SUB_GID_COUNT 65536

测试

useradd -g mailgroup -s /sbin/nologin cs

测试完成。

附加:Linux创建多个用户并设置密码及邮件系统

创建20000个用户,并设置密码,和创建mail邮件系统。

#!/bin/bash

while read username; do
        useradd -g mail -s /sbin/nologin $username
        echo 123456 | passwd --stdin $username
        mkdir -p /home/$username/mail/.imap/INBOX
        chown -R $username:mailgroup  /home/$username
done < /root/username.txt
#!/bin/bash

cat /root/username.txt | while read username; do
        useradd -g mail -s /sbin/nologin $username
        echo 123456 | passwd --stdin $username
        mkdir -p /home/$username/mail/.imap/INBOX
        chown -R $username:mailgroup  /home/$username
done
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A-刘晨阳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值