“批量创建用户和批量删除用户”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
 
(未显示同一用户的10个中间版本)
第1行: 第1行:
 
[[category:ops]]
 
[[category:ops]]
=adduser useradd=
+
=adduser useradd 批量添加用户=
 +
 
 +
可参考ansible
 
<pre>
 
<pre>
 
#非交互创建用户  
 
#非交互创建用户  
第11行: 第13行:
 
#创建一个xxx.sh shell 脚本,然后用for循环把创建的user.txt遍历出来,以下为shell脚本:
 
#创建一个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
 
#!/bin/bash
  
第18行: 第49行:
  
 
do  
 
do  
#如果用户少 直接 user=evan
+
#如果用户少 直接 user=evan #注意 $是变量标记,不能用作password
  useradd $user
+
  useradd $user -s /bin/bash
  echo "123" | passwd --stdin $user
+
    echo "$user:ADMIlxtxuui5^" |chpasswd
 +
 
 +
  #echo "123" | passwd --stdin $user #这个在debian10上是不行的
 
  echo "The user useradd success !"  
 
  echo "The user useradd success !"  
  
第27行: 第60行:
 
#这里的passwd --stdin 的意思:是非交互,直接输入密码
 
#这里的passwd --stdin 的意思:是非交互,直接输入密码
 
</pre>
 
</pre>
 +
 +
=see also=
 +
 +
[https://www.cnblogs.com/irisrain/p/4324593.html  linux命令useradd添加用户详解 ]
 +
 
[https://www.cnblogs.com/linhaobin555/p/6938840.html Linux 批量创建user和批量删除用户]
 
[https://www.cnblogs.com/linhaobin555/p/6938840.html Linux 批量创建user和批量删除用户]
 +
 +
[https://blog.csdn.net/qq_39309714/article/details/86546483  Linux非交互式修改用户密码]
 +
 +
[https://www.jb51.net/article/60852.htm Shell脚本中非交互式修改密码的两种方法]

2022年12月14日 (三) 09:43的最新版本

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脚本中非交互式修改密码的两种方法