目录
1.for创建20用户 用户前缀由用户输入 用户初始密码由用户输入 例如:test01,test10
1.for创建20用户 用户前缀由用户输入 用户初始密码由用户输入 例如:test01,test10
vim useradd.sh
#!/bin/bash
read -p "Please input a prefix name: " name
read -p "Please input password: " passwd
for ((i=1;i<=20;i++))
do
if [ "$i" -lt 10 ]
then
user="$name"0"$i"
else
user="$name""$i"
fi
if ! id -u $user &>/dev/null
then
useradd "$user"
echo "$passwd" | passwd --stdin $user &>/dev/null
else
echo "$user is exists!!!"
fi
done


2.for ping测试指网段的主机 网段由用户输入,例如用户输入192.168.2 ,则ping 192.168.2.10 --- 192.168.2.20 UP: /tmp/host_up.txt Down: /tmp/host_down.txt
vim ping.sh
#!/bin/bash
read -p "Please input a Network segment: " net
for((i=10;i<=20;i++))
do
if ping -w 1 "$net"."$i" &>/dev/null;then
echo ""$net"."$i" is up!!!" >> /tmp/host_up.txt
else
echo ""$net"."$i" is down!!!" >> /tmp/host_down.txt
fi
done

3.使用for实现批量主机root密码的修改 成功或失败都必须记录 提示:主机IP存放在一个文件中 SSH:实现公钥认证,执行远程中主机命令 实现公钥认证 #ssh-keygen 在用于管理的主上生成密钥对 #ssh-copy-id -i 192.168.2.3
vim ssh.sh
#!/bin/bash
ssh-keygen -f /root/.ssh/id_rsa -P '' -q $>/dev/null
for ip in `cat ipfile`
do
echo $ip
ssh-copy-copy-id root@$ip
done
for ip in `cat ipfile`
do
echo $ip
ssh root@ip "echo redhat | passwd --stdin root" &>/dev/null
if [ "$?" -eq 0 ]
then
echo "host $ip successfully update passwd"
else
echo "host $ip error update passwd"
fi
done
本文提供了一系列bash脚本,包括使用for循环创建20个用户并设置密码,根据用户输入的网段进行ping测试并记录结果,以及批量修改主机的root密码并通过SSH实现公钥认证的自动化过程。

被折叠的 条评论
为什么被折叠?



