批量创建用户和批量删除用户

来自linux中国网wiki
跳到导航 跳到搜索

adduser useradd 批量添加用户

可参考ansible

#非交互创建用户 
vim user.txt

user1
user2
user3

#创建一个xxx.sh shell 脚本,然后用for循环把创建的user.txt遍历出来,以下为shell脚本:

#!/bin/bash
for User in `cat user.txt`
do
useradd $User -s /bin/bash
echo $User
echo "$User:admindexxxxxdd6655" | chpasswd
echo  "The user useradd sucess!"


done


自动创建用户和添加key  july 2022
MYUSE=hxctest
useradd  $MYUSE
echo "&evan1233" | passwd --stdin $MYUSE



mkdir -p /home/$MYUSE/.ssh 
echo 'ssh-rsa AAAAB3NzaC1yc2EddGDB82O3hyhTkzGwwIxpzAzFMinI8Or5sd [email protected]' >>/home/$MYUSE/.ssh/authorized_keys

chown -R  $MYUSE:$MYUSE /home/$MYUSE/.ssh; chmod 600 /home/$MYUSE/.ssh/authorized_keys





#下面这个脚本有问题 应该 是格式,先不理了 用上面那个 
#!/bin/bash

#我这里是把shell脚本和txt文件创建在同一个目录下,如果不在同个目录下,请注意下路径

for user in `cat user.txt`

do 
#如果用户少 直接 user=evan #注意 $是变量标记,不能用作password
  useradd $user  -s /bin/bash
    echo "$user:ADMIlxtxuui5^" |chpasswd

  #echo "123" | passwd --stdin $user #这个在debian10上是不行的 
  echo "The user useradd success !" 

done

#这里的passwd --stdin 的意思:是非交互,直接输入密码

see also

linux命令useradd添加用户详解

Linux 批量创建user和批量删除用户

Linux非交互式修改用户密码

Shell脚本中非交互式修改密码的两种方法