目录
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