shell练习4

本文提供了一系列bash脚本,包括使用for循环创建20个用户并设置密码,根据用户输入的网段进行ping测试并记录结果,以及批量修改主机的root密码并通过SSH实现公钥认证的自动化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1.for创建20用户 用户前缀由用户输入 用户初始密码由用户输入 例如:test01,test10

 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

 3.使用for实现批量主机root密码的修改 成功或失败都必须记录 提示:主机IP存放在一个文件中 SSH:实现公钥认证,执行远程中主机命令 实现公钥认证 #ssh-keygen 在用于管理的主上生成密钥对 #ssh-copy-id -i 192.168.2.3


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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值