使用shell脚本在Linux中创建多个用户名和UID

使用shell脚本在Linux中创建多个用户名和UID

在我的环境中,我经常需要连接一个在 Linux 上运行的 NFS 服务器。 Linux 客户端系统中创建了用户名,并且这些用户名按顺序排列。但为了单独设置每个用户的共享权限,我必须useradd -u 2001 -g 1000 -d /home/app/mnt/1 user1在 NFS 服务器中使用它们来创建它们。如果我的客户端系统有 1000 个用户,我也必须将它们单独打包到我的 NFS 服务器上。

我想在 Linux NFS 服务器中使用 shell 脚本创建多个用户名并分配一个 UID(不是随机的)。我还想自动为他们分配一个主目录。例如我想创建像这样的用户

| Username| UID |Home Directory|
|  user1  |20001|/home/users/1 |
|  user2  |20002|/home/users/2 |
|  user3  |20003|/home/users/3 |
|    .    |  .  |       .      |
|    .    |  .  |       .      |
|    .    |  .  |       .      |
|  userX  |2000X|/home/users/X |

用户名始终以“user”开头,保持不变。X可能是 100 到 1000。

这些用户是必要的,但寿命很短,因此我不想采用中央用户管理平台。 shell脚本能否批量创建用户?

我经历过这个文章。这从我想要的开始,但后来进入了对我来说毫无意义的事情。

答案1

正如所建议的,这是相当容易完成的。在终端上,您可以使用如下 for 循环:

for i in {20001..20100}; do useradd -u $i -g 1000 -d /home/app/mnt/$i "user${i}"; done

循环递增到然后20100退出。

相关内容