linux批量创建用户1000,Linux 批量创建用户

首先创建用户名称的列表文件 users.txt,每个用户名称单独一行。读者可以自行决定具体的用户名称和个数:[root@linuxprobe ~]# vim users.txt

andy

barry

carl

duke

eric

george

接下来编写 Shell 脚本 Example.sh。在脚本中使用 read 命令读取用户输入的密码值,然后赋值给 PASSWD 变量,并通过 -p 参数向用户显示一段提示信息,告诉用户正在输入的内容即将作为账户密码。在执行该脚本后,会自动使用从列表文件 users.txt 中获取到所有的用户名称,然后逐一使用 “id 用户名” 命令查看用户的信息,并使用 $? 判断这条命令是否执行成功,也就是判断该用户是否已经存在。

需要多说一句,/dev/null 是一个被称作 Linux 黑洞的文件,把输出信息重定向到这个文件等同于删除数据(类似于没有回收功能的垃圾箱),可以让用户的屏幕窗口保持简洁。#!/bin/bash

read -p "Enter The Users Password: " PASSWD

for UNAME in `cat users.txt`

do

id $UNAME &> /dev/null

if [ $? -eq 0 ]; then

echo "Already exists"

else

useradd $UNAME &> /dev/null

echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null

if [ $? -eq 0 ]

then

echo "$UNAME, Create success"

else

echo "$UNAME, Create failure"

fi

fi

done

ubuntu (passwd 命令不支持 --stdin 参数)#!/bin/bash

read -p "Enter The Users Password: " PASSWD

for UNAME in `cat users.txt`

do

id $UNAME &> /dev/null

if [ $? -eq 0 ]

then

echo "Already exists"

else

useradd $UNAME &> /dev/null

echo "$UNAME":"$PASSWD" | chpasswd &> /dev/null

if [ $? -eq 0 ]

then

echo "$UNAME, Create success"

else

echo "$UNAME, Create failure"

fi

fi

done

执行批量创建用户的 Shell 脚本 Example.sh,在输入为账户设定的密码后将由脚本自动检查并创建这些账户。由于已经将多余的信息通过输出重定向符转移到了 /dev/null 黑洞文件中,因此在正常情况下屏幕窗口除了“用户账户创建成功”(Create success)的提示后不会有其他内容。

在 Linux 系统中,/etc/passwd 是用来保存用户账户信息的文件。如果想确认这个脚本是否成功创建了用户账户,可以打开这个文件,看其中是否有这些新创建的用户信息。root@world:/home/point/demo# tail -6 /etc/passwd

andy:x:1001:1001::/home/andy:/bin/sh

barry:x:1002:1002::/home/barry:/bin/sh

carl:x:1003:1003::/home/carl:/bin/sh

duke:x:1004:1004::/home/duke:/bin/sh

eric:x:1005:1005::/home/eric:/bin/sh

george:x:1006:1006::/home/george:/bin/sh

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值