RHCE(六)

news2024/12/23 18:30:59

目录

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

(1)编写脚本

(2)运行脚本

(3)查看是否创建成功

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

(1)编写脚本

(2)运行脚本

(3)查看结果

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

(1)建立密钥

(2)将产生的密钥发送给目标主机

(3)测试是否能连接上

(4)创建一个目的主机IP所在文件

(5)编写脚本 

(6)执行


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

(1)编写脚本

[root@server ~]# vim for1.sh
#!/bin/bash

read -p "请输入账户名前缀:" user
read -p "请输入密码" newpasswd
for ((i=1;i<=20;i++))
do
        if ! id -u $user$i &> /dev/null
        then
                useradd $user$i
                echo "$newpassswd" | passwd --stdin $user$i &> /dev/null
        else
                echo "$user$i is exists....."
        fi
done
 

 

 

(2)运行脚本

[root@server ~]# sh for1.sh 
请输入账户名前缀:test
亲输入密码123456
[root@server ~]#
[root@server ~]# sh for1.sh 
请输入账户名前缀:test
亲输入密码123456
test1 is exists.....
test2 is exists.....
test3 is exists.....
test4 is exists.....
test5 is exists.....
test6 is exists.....
test7 is exists.....
test8 is exists.....
test9 is exists.....
test10 is exists.....
test11 is exists.....
test12 is exists.....
test13 is exists.....
test14 is exists.....
test15 is exists.....
test16 is exists.....
test17 is exists.....
test18 is exists.....
test19 is exists.....
test20 is exists.....

(3)查看是否创建成功

[root@server ~]# cat /etc/passwd

 

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

(1)编写脚本

[root@server ~]# vim for2.sh
 
#!/bin/bash
 
read -p " 请输入IP的前三个网段:" IP
 
for ip in {125..135}
do
        ping -c 2 -w 3 $IP.$ip  &> /dev/null
        num=$?
        if [  $num -eq 0 ]
        then
                echo "$IP.$ip" >> /tmp/host_up.txt
        else
                echo "$IP.$ip" >> /tmp/host_down.txt
        fi
done 

(2)运行脚本

[root@server ~]# sh for2.sh 
请输入IP的前三个网段:192.168.183

(3)查看结果

[root@server ~]# cat /tmp/host_up.txt 
192.168.183.128
[root@server ~]# cat /tmp/host_down.txt 
192.168.183.125
192.168.183.126
192.168.183.127
192.168.183.129
192.168.183.130
192.168.183.131
192.168.183.132
192.168.183.133
192.168.183.134
192.168.183.135

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

(1)建立密钥

[root@server ~]#  ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa
Your public key has been saved in /root/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:W5FeCG66egoOYXOuKjSwTIxB21UwaSPWz3FhWckQ5I0 root@server
The key's randomart image is:
+---[RSA 3072]----+
|..  .++.o*B..    |
|. oo.=.oo+o=     |
|oo..o + =E+..    |
|oo     = . o     |
|=+ .  . S o      |
|o=+    . o       |
|o o.  . .        |
|.o.. ..          |
|+.. oo           |
+----[SHA256]-----+
[root@server ~]# 

(2)将产生的密钥发送给目标主机

[root@server ~]#  ssh-copy-id root@192.168.183.128
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host '192.168.183.128 (192.168.183.128)' can't be established.
ED25519 key fingerprint is SHA256:MK3vrSRPaKvJHtkQrrGnUqHK2sKzyWj6PCwnZwC6GkY.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? y
Please type 'yes', 'no' or the fingerprint: yws^H^H
Please type 'yes', 'no' or the fingerprint: yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@192.168.183.128's password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'root@192.168.183.128'"
and check to make sure that only the key(s) you wanted were added.

[root@server ~]# ssh root@192.168.183.128
Activate the web console with: systemctl enable --now cockpit.socket

Register this system with Red Hat Insights: insights-client --register
Create an account or view all your systems at https://red.ht/insights-dashboard
Last login: Sat Apr 22 00:30:02 2023 from 192.168.183.1
[root@server ~]# 

(3)测试是否能连接上

[root@server ~]# ssh root@192.168.183.129
The authenticity of host '192.168.183.129 (192.168.183.129)' can't be established.
ED25519 key fingerprint is SHA256:MK3vrSRPaKvJHtkQrrGnUqHK2sKzyWj6PCwnZwC6GkY.
This host key is known by the following other names/addresses:
    ~/.ssh/known_hosts:1: 192.168.183.128
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.183.129' (ED25519) to the list of known hosts.
root@192.168.183.129's password: 
Activate the web console with: systemctl enable --now cockpit.socket

Register this system with Red Hat Insights: insights-client --register
Create an account or view all your systems at https://red.ht/insights-dashboard
Last login: Sat Apr 22 01:05:08 2023 from 192.168.183.1
[root@node1 ~]# 

(4)创建一个目的主机IP所在文件

[root@server ~]# vim ipfile 

(5)编写脚本 

[root@server ~]# vim for3.sh
 
#!/bin/bash
 
for ip in `cat ipfile`
do
        echo $ip
        ssh root@$ip "echo rhce | passwd --stdin root" &>/dev/null
        if [ "$?" -eq 0 ]
        then
                echo "host $ip successfully update passwd"
        else
                echo "host $ip error update passwd"
        fi
done

(6)执行

[root@node1 ~]# sh for3.sh
192.168.183.129
The authenticity of host '192.168.183.129 (192.168.183.129)' can't be established.
ED25519 key fingerprint is SHA256:MK3vrSRPaKvJHtkQrrGnUqHK2sKzyWj6PCwnZwC6GkY.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
root@192.168.183.129's password: 
host 192.168.183.129 successfully update passwd


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/450667.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习——主成分分析法(PCA)概念公式及应用python实现

机器学习——主成分分析法&#xff08;PCA&#xff09; 文章目录 机器学习——主成分分析法&#xff08;PCA&#xff09;一、主成分分析的概念二、主成分分析的步骤三、主成分分析PCA的简单实现四、手写体识别数字降维 一、主成分分析的概念 主成分分析&#xff08;PCA&#x…

华为OD机试真题(Java),分班(100%通过+复盘思路)

一、题目描述 幼儿园两个班的小朋友在排队时混在了一起&#xff0c;每位小朋友都知道自己是否与前面一位小朋友是否同班&#xff0c;请你帮忙把同班的小朋友找出来。 小朋友的编号为整数&#xff0c;与前一位小朋友同班用Y表示&#xff0c;不同班用N表示。 二、输入描述 输…

Android Jetpack - Navigation 组件:进行应用程序导航

一. Navigation 组件的介绍 1.1 什么是 Navigation 组件 Navigation 组件是一种 Android Jetpack 库&#xff0c;它可以帮助开发者轻松地实现应用程序中的导航功能。导航组件包含多个类和组件&#xff0c;包括导航图、目的地、导航控制器等&#xff0c;可以帮助我们管理应用程…

【Node.JS Web编程】记录从语法基础到网络框架的学习过程

文章目录 1. Node.JS 模块系统2. npm使用介绍3. 搭建第一个服务端应用4. GET / POST请求5. Web 前后端分离6. 使用Express框架搭建Web服务7. Request 和 Response8. 中间件9. 使用 Koa 框架搭建Web服务10. 使用 Egg 框架搭建Web服务11. egg 项目结构大全 注意&#xff1a;本次教…

【Linux】uptime命令详解平均负载

命令 ➜ ~ uptime 22:37 up 90 days, 21:45, 2 users, load averages: 2.91 3.46 3.81 具体含义 22:37&#xff1a;代表的是当前的系统时间&#xff0c;也即晚上10点37分。 up 90 days, 21:45&#xff1a;代表系统运行时间 2 users &#xff1a;当前两个用户 load averages: 2…

【Linux】命名管道使用示例-代码实现

文章目录 1 管道基础知识复习(可直接跳转代码实现)1.1 管道的读写规则1.2 管道的特点 2 命名管道2.1 命名管道本质2.2 创建命名管道2.2.1 在命令行创建:2.2.2 在程序中调用函数创建 2.3 命名管道和匿名管道的区别2.4 命名管道的打开规则 3 代码分解实现3.1 makefile书写3.1.1 测…

计算值组成原理 作业8

作业8 题量: 28 满分: 100 作答时间:04-20 09:40至04-26 23:59 100分 一. 单选题&#xff08;共14题&#xff0c;32分&#xff09; 1. (单选题, 2分)计算机硬件能直接执行的只有_____。 A. 算法语言B. 汇编语…

2023-04-22 学习记录--C/C++-数组

合抱之木&#xff0c;生于毫末&#xff1b;九层之台&#xff0c;起于累土&#xff1b;千里之行&#xff0c;始于足下。&#x1f4aa;&#x1f3fb; 一、定义一维数组 ⭐️ &#xff08;一&#xff09;、初识 格式 &#x1f308;&#xff1a;数组元素类型 数组名[数组元素个数]…

Java每日一练(20230423)

目录 1. 数组元素统计 ※ 2. 杨辉三角 II &#x1f31f; 3. 二进制求和 &#x1f31f; &#x1f31f; 每日一练刷题专栏 &#x1f31f; Golang每日一练 专栏 Python每日一练 专栏 C/C每日一练 专栏 Java每日一练 专栏 1. 数组元素统计 定义一个长度为5的数组arr1&a…

【三十天精通Vue 3】第十六天 Vue 3 的虚拟 DOM 原理详解

引言 Vue 3 的虚拟 DOM 是一种用于优化 Vue 应用程序性能的技术。它通过将组件实例转换为虚拟 DOM&#xff0c;并在组件更新时递归地更新虚拟 DOM&#xff0c;以达到高效的渲染性能。在 Vue 3 中&#xff0c;虚拟 DOM 树由 VNode 组成&#xff0c;VNode 是虚拟 DOM 的基本单元…

PTA L1-096 谁管谁叫爹 (20 分)

《咱俩谁管谁叫爹》是网上一首搞笑饶舌歌曲&#xff0c;来源于东北酒桌上的助兴游戏。现在我们把这个游戏的难度拔高一点&#xff0c;多耗一些智商。 不妨设游戏中的两个人为 A 和 B。游戏开始后&#xff0c;两人同时报出两个整数 N A N_A NA​​ 和 N B ​ N_B​ NB​​ 。判…

C语言函数大全-- n 开头的函数

C语言函数大全 本篇介绍C语言函数大全-- n 开头的函数 1. nan 1.1 函数说明 函数声明函数功能double nan(const char *tagp);用于返回一个表示 NaN&#xff08;非数值&#xff09;的 double 类型数字 参数&#xff1a; tagp &#xff1a; 指向字符串的指针&#xff1b;用于…

Tomcat 配置与部署

http 协议就是 http 客户端和 http 服务器之间通信的协议 , 而Tomcat 就是 java 圈子中最广泛使用的 http 服务器. 下载Tomcat Tomcat官网 Tomcat 的版本 , 和后续的 servlet 版本是强相关的 , 此处使用 tomcat 8 , 对应的 servlet 就是 3.1 下载一个 zip 压缩包解压缩即可 T…

探索【Stable-Diffusion WEBUI】的插件:骨骼姿态(OpenPose)

文章目录 &#xff08;零&#xff09;前言&#xff08;一&#xff09;骨骼姿态&#xff08;OpenPose&#xff09;系列插件&#xff08;二&#xff09;插件&#xff1a;PoseX&#xff08;三&#xff09;插件&#xff1a;Depth Lib&#xff08;四&#xff09;插件&#xff1a;3D …

Spring之IOC和DI入门案例

IOC和DI入门案例 1. IOC入门案例1.1 门案例思路分析1.2 实现步骤1.3 实现代码1.4 运行结果 2. DI入门案例2.1 DI入门案例思路分析2.2 实现步骤2.3 实现代码2.4 图解演示 1. IOC入门案例 问题导入 <bean>标签中id属性和class属性的作用是什么&#xff1f; 1.1 门案例思…

金三银四总计面试碰壁15次,作为一个27岁的测试工程师.....

3年测试经验原来什么都不是&#xff0c;只是给你的简历上画了一笔&#xff0c;一直觉得经验多&#xff0c;无论在哪都能找到满意的工作&#xff0c;但是现实却是给我打了一个大巴掌&#xff01;事后也不会给糖的那种... 先说一下自己的个人情况&#xff0c;普通二本计算机专业…

023:Mapbox GL加载mp4视频文件

第023个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中加载MP4视频文件。一个视频源。 “urls”值是一个数组。 对于数组中的每个 URL,将创建一个视频元素源。 要支持跨浏览器的视频,请提供多种格式的 URL。“坐标”数组包含按顺时针顺序列出的视频角的 [longi…

【MYSQL】数据库和表的基本操作

目录 1.mysql的工作图&#xff1a; 2.连接mysql服务器 3.mysql的配置文件 4.数据库的操作 5.表的操作 1.mysql的工作图&#xff1a; mysql是一个应用层服务&#xff0c;需要使用安装的mysql客户端&#xff08;也叫mysql&#xff09;连接mysql服务器&#xff08;也叫mysq…

Sa-Token源码简单阅读

一.权限登录模块包括几个基本子模块&#xff1a; 1.登录。 实现方式大致为&#xff1a;先检验用户名密码是否正确&#xff0c;如正确则在缓存中存入用户信息&#xff08;一般必须要有用户标识和访问token&#xff0c;或再加一些附加信息如用户的角色权限&#xff09;&#xf…

国内外4款主流ERP系统评测,哪款最好用?

一、ERP系统的概念 ERP系统&#xff0c;是针对通用各个企业特点研发的ERP软件。由于行业产品结构复杂&#xff0c;导致原料种类众多&#xff0c;制造工艺复杂&#xff0c;外加客户、供应商、物流等不确定因素&#xff0c;传统手工、表格、纸质作业模式难以应对复杂状况&#x…