当前位置: 首页 > news >正文

shell编程练习,实现循环创建账户、测试主机连通性、批量修改主机root密码等功能

实验环境:linux(openeuler)虚拟机

实验要求

1、编写脚本for1.sh,使用for循环创建20账户,账户名前缀由用户从键盘输入,账户初始密码由用户输入,例如:test1、test2、test3、. test10

2、编写脚本for2.sh,使用for循环,通过ping命令测试网段的主机连通性,IP前3段由用户输入,如:输入192.168.48 ,则ping 192.168.205.130-192.168.205.140,将可以ping通的主机IP地址写入到 /tmp/host_up.txt文件中,不能ping通的主机IP地址写入到:/tmp/host_down.txt文件中

3、使用for循环实现批量主机root密码的修改

(1)打开多台主机
(2)使用ssh-keygen命令建立密钥对
(3)多台主机间通过ssh-copy-id进行免密登录
(4)编写脚本for3.sh,通过for循环登录主机修改对方root账户密码

第一题

#!/bin/bash# 功能:循环创建20个账户并且修改密码read -p "请输入用户名前缀:"  prefix
read -p "请输入账户密码:" passwordfor ((i=1;i<=20;i++))
doid -u $prefix$i &> /dev/nullif (($?!=0))thenuseradd $prefix$iecho $password | passwd $prefix$i --stdin > /dev/nullelseecho "$prefix$i用户已经存在,不再创建"fi
done

 编写完成后进行测试

可见用户已经成功创建,脚本没有问题。

第二题

本题的网段改为自己主机所在的网段

#!/bin/bash# 功能:该脚本用于检测网段中130-140主机是否连通read -p "请输入网段前三段:" netfor i in {130..140}
do      ip=$net.$iecho "正在测试$ip..."ping -c 2 -w 3 $ipif (($?==0))then    echo "$ip可通" >> /tmp/host_up.txtelse    echo "$ip不可通" >> /tmp/host_down.txtfi
done  

然后测试脚本

可见脚本没有问题

第三题

本题使用三台主机,其中两台主机作为被修改密码的一端,一台主机作为修改密码的一段(该主机需要配置ssh免密登录)

接下来配置免密登录

首先建立密钥对

 

[root@master ~]# ssh-keygen  -t  rsa

输入该命令然后回车就行

然后将密钥上传给另外两个主机

首次上传需要输入对方密码

到这里免密已经配置成功了

 然后可以先建立一个文本文件将需要修改密码的主机的ip存进去

然后编写脚本

#!/bin/bash# 功能:可以将列表中的主机的密码全部统一修改read -p "请输入密码:" passwordfor i in $(cat /root/ip.txt)
do      ssh $i "echo $password | passwd --stdin root"
done  

 最后进行测试

 这里两个用户分别重新连接xshell确定密码修改成功

至此三个实验全部完成。

http://www.dtcms.com/a/310669.html

相关文章:

  • Linux 用户与组管理:从配置文件到实操命令全解析
  • Lecture 7: Processes 4, Further Scheduling
  • 嵌入式系统中常用通信协议
  • 高压大电流与低压大电流电源的设计难点
  • QT中重写事件过滤失效(返回了多个事件)
  • Jetpack Compose Column组件之focusProperties修饰符
  • 基于C#和NModbus4库实现的Modbus RTU串口通信
  • 【工具分享】模拟接口请求响应的Chrome插件ModResponse
  • 光伏运维数据透明化,发电量提高45%
  • Cursor免费使用工具
  • 配置多数据源dynamic-datasource 开箱即用方案​
  • ubuntu使用man手册中文版办法
  • 同品牌的系列广告要如何保证宣传的连贯性?
  • C语言(02)——标准库函数大全(持续更新)
  • 精品可编辑PPT | 集团整体架构与商务智能解决方案
  • Klipper-配置解析
  • 「一键召唤 007」:开源多智能体 JoyAgent-JDGenie 如何让你的 AI 产品从 Demo 到 真香 只差 Ctrl+C / Ctrl+V?
  • 电商客服协同中,智能处理哪些问题,人工专攻哪些需求?
  • 日志管理工具 ——ELK Stack
  • 开源工具FossFLOW,绘制技术图表
  • 告别软件残留!IObit Uninstaller Pro 让电脑彻底干净!
  • GPS定位 JT808 / 视频监控 - JT1078 技术剖析(1)
  • 《文明5》错误代码0xc0000142修复方法
  • JavaScript 中的 new 关键字和函数调用方法详解,apply、call 和 bind 的区别
  • 解决MySQL不能编译存储过程的问题
  • session和cookie作用详解
  • 如何使用AI+工单实现高效率高质量的服务?
  • python 断点pdb
  • 选择美颜sdk时应该关注什么?美白滤镜效果与兼容性对比评测
  • 【人工智能-17】机器学习:KNN算法、模型选择和调优、朴素贝叶斯分类