1. for创建20用户
用户前缀由用户输入
用户初始密码由用户输入
编写脚本文件
#!/bin/bash
#########################
#File name:1.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-01-02 12:10:30
#Description:
#########################
read -p "please input ursename:" name
read -p "please input passward:" passwd
i=0
for i in ${name}{01..20}
do
useradd $i &> /dev/null
if [ $? -eq 0 ];then
echo $passwd | passwd $i --stdin &> /dev/null
echo "creat success!"
else
echo "$i is exists!"
let i++
fi
done
给文件添加r,x权限,并查看运行结果
[root@zyf ~]# chmod a+rx 1.sh
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
编写脚本文件
#!/bin/bash
#########################
#File name:2.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-01-02 13:35:14
#Description:
#########################
read -p "please input IP:" ip
for i in ${ip}.{120..130}
do
if ping -c2 $i &> /dev/null;then
echo "$i is up!" >> /tmp/host_up.txt
else
echo "$i is down!" >> /tmp/host_down.txt
fi
done
给文件添加r,x权限,并查看运行结果
[root@zyf shell5]# chmod a+rx 2.sh
3. 使用for实现批量主机root密码的修改
成功或失败都必须记录
提示:主机IP存放在一个文件中
SSH:实现公钥认证,执行远程中主机命令
实现公钥认证
# ssh-keygen 在用于管理的主上生成密钥对
# ssh-copy-id -i 192.168.2.3
编写脚本文件
#########################
#File name:3.sh
#Version:v1.0
#Email:admin@test.com
#Created time:2023-01-02 16:19:43
#Description:
#########################
host_ip="/shell5/host_ip.txt"
chpwd_log="/shell/chpwd_log.txt"
if ! [ -f /.ssh.id_rsa ];then
ssh-keygen -q -P "" -f /.ssh/id_rsa &> /dev/null && echo "publickey is created"
fi
read -p "please input new password for hosts:" passwd
for i in `cat "$host_ip"`
do
ssh-copy-id root@$i &> /dev/null && ssh root@$i "echo $passwd | passwd root --stdin" &> /dev/null && echo "password is updated!"
if [ $? -eq 0 ];then
echo "$i password is updated!" >> "$chpwd_log"
else
echo "$i change password failed!" >> "$chpwd_log"
fi
done