服務器IPMI用戶名、密碼批量檢查

背景

大規模服務器部署的時候,少不了較多的網管和監測平臺,這些平臺會去監控服務器的性能、硬件等指標參數,為了便于管理和控制,則需要給服務器IPMI帶外管理添加較多的用戶,這就需要對較多的服務器檢查所對應的IPMI用戶和密碼設置的準確性。又因不同廠商的不同型號的服務器較多給檢查工作又帶來了不小的困難,所以你可以通過下面的腳本來批量檢查。

使用說明

腳本在Linux服務器上執行,前提是安裝ipmitool工具,且安裝驅動軟件,能在系統下讀到IPMI信息才可以執行。

user_Quantity代表檢查的用戶數量;
下面的用戶id,則代表ipmi系統里的用戶ID值,(用戶ID信息可以使用ipmitool user list命令查看);
密碼則是該ID要檢查的密碼;

在這里插入圖片描述

在這里插入圖片描述
檢查輸出
在這里插入圖片描述
用戶不存在輸出
在這里插入圖片描述

腳本信息

#!/bin/bash
#用戶數量
user_Quantity=3
#檢查的用戶信息
user1_id=2
user1_Password="superAdmin@01"user2_id=3
user2_Password="superAdmin@02"user3_id=8
user3_Password="superAdmin@03"#廠商與型號獲取
Vendor_out=$(dmidecode -t 1 | grep -Ei "Manufacturer" |cut -d ":" -f 2)
Product=$(dmidecode -t 1 |grep "Product Name" |cut -d ":" -f 2)#管理地址獲取
bond0_net_01=`ls /etc/sysconfig/network-scripts/ifcfg-bond0.* | awk '{print $0}' |sed -n "1p"`
[ -e "$bond0_net_01" ] && bond0_ip=`cat $bond0_net_01  |grep IPADDR |tr -d '\r'|cut -d "=" -f 2`vendor=$(dmidecode -t 1 | grep -Ei "Manufacturer")if [[ $vendor == *H3C* ]];thenBMC_IP=$(ipmitool lan print 8 | grep -E "IP\s+Address\s+:" | awk '{print $4}')#H3C服務器獲取IPMI_ID用戶名、密碼檢查信息for((i = 1; i <= $user_Quantity ;i++)); doeval userid="$"user${i}_id""eval user$i=`ipmitool user list 8 |grep ^${userid} |awk '{print $2}'`eval user_password="$"user${i}_Password""eval user${i}_passwd_check=`ipmitool user test $userid  16 $user_password` &> /dev/nulleval user_passwd_check_next="$"user${i}_passwd_check""[ $user_passwd_check_next == "Success" ] &> /dev/null && eval user${i}_passwd_check_out="OK" || eval user${i}_passwd_check_out="Fail"done
elif [[ $vendor == *ZTE* ]];thenBMC_IP=$(ipmitool lan print | grep -E "IP\s+Address\s+:" | awk '{print $4}')#ZTE服務器獲取IPMI_ID用戶名、密碼檢查信息for((i = 1; i <= $user_Quantity ;i++)); doeval userid="$"user${i}_id""eval user$i=`ipmitool user list 8 |grep ^${userid} |awk '{print $2}'`eval user_password="$"user${i}_Password""eval user${i}_passwd_check=`ipmitool user test $userid  16 $user_password` &> /dev/nulleval user_passwd_check_next="$"user${i}_passwd_check""[ $user_passwd_check_next == "Success" ] &> /dev/null && eval user${i}_passwd_check_out="OK" || eval user${i}_passwd_check_out="Fail"doneelif [[ $vendor == *Suma* ]];thenBMC_IP=$(ipmitool lan print | grep -E "IP\s+Address\s+:" | awk '{print $4}')#中科可控服務器獲取IPMI_ID用戶名、密碼檢查信息for((i = 1; i <= $user_Quantity ;i++)); doeval userid="$"user${i}_id""eval user$i=`ipmitool user list 8 |head -11 |grep ^${userid} |awk '{print $2}'`eval user_password="$"user${i}_Password""eval user${i}_passwd_check=`ipmitool user test $userid  16 $user_password` &> /dev/nulleval user_passwd_check_next="$"user${i}_passwd_check""[ $user_passwd_check_next == "Success" ] &> /dev/null && eval user${i}_passwd_check_out="OK" || eval user${i}_passwd_check_out="Fail"doneelseBMC_IP=$(ipmitool lan print | grep -E "IP\s+Address\s+:" | awk '{print $4}')#通用獲取IPMI_ID用戶名、密碼檢查信息for((i = 1; i <= $user_Quantity ;i++)); doeval userid="$"user${i}_id""eval user$i=`ipmitool user list |grep ^${userid} |awk '{print $2}'`eval user_password="$"user${i}_Password""eval user${i}_passwd_check=`ipmitool user test $userid  16 $user_password` &> /dev/nulleval user_passwd_check_next="$"user${i}_passwd_check""[ $user_passwd_check_next == "Success" ] &> /dev/null && eval user${i}_passwd_check_out="OK" || eval user${i}_passwd_check_out="Fail"done
fi#IPMI密碼檢查#通用獲取IPMI_ID用戶名、密碼檢查信息
for((i = 1; i <= $user_Quantity ;i++)); doeval user_id="$"user${i}_id""eval user_out="$"user${i}""[ $user_out == "true" ] && user_out="該用戶ID用戶無配置,請檢查!"eval check_out="$"user${i}_passwd_check_out""echo -e "服務器管理網IP:$bond0_ip IPMI地址:$BMC_IP 廠商:$Vendor_out 型號:$Product IPMI用戶ID:$user_id IPMI用戶:$user_out 密碼檢查結果:$check_out"
done

干貨分享(自取)

  • 信息安全管理體系(ISMS)制度模板分享

  • 開源文檔翻譯工具,支持word、pdf、ppt、excel

  • PuTTY中文版安裝包

  • MobaXterm中文版安裝包

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/70897.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70897.shtml
英文地址,請注明出處:http://en.pswp.cn/web/70897.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

< 自用文兒 > Gobuster 暴力掃描工具與 SecLists 安全測試詞表集合

Ethice 道德問題 GFW 的保護下&#xff0c;很多的設備操作系統是停留在更老的版本&#xff0c;應用軟件也是&#xff0c;因此很多的漏洞沒有被修復。通訊沒有使用加密&#xff0c;例如網頁沒有使用 HTTPS 網站很多。幾乎是半裸的在網絡上等著被食。 不做惡是下限。 環境&…

【Cadence射頻仿真學習筆記】2.4GHz低噪放LNA仿真設計

課程分為3個部分&#xff0c; 一、LNA結構與噪聲優化方法 噪聲優化的方法是&#xff1a;限定功耗的噪聲和功率同時匹配噪聲匹配和功率匹配一般不會同時達到&#xff0c; 對于PCSNIM結構的噪聲分析&#xff0c;我們只需要了解與哪些參數有關優化思路是&#xff1a;1.信號源阻抗…

【洛谷入門賽】B4042 順序結構 202410 場

題意 給你一個變量 a a a&#xff1a;小 Y 會讓 a a a 先加 5 5 5 再把它們的和乘 3 3 3 最后輸出&#xff1b;小 L 會讓 a a a 先乘 3 3 3 再加 5 5 5 最后輸出。 要求出小 Y 和小 L 分別會輸出什么東西。 思路 這道題按照題目意思模擬就可以了&#xff0c;重點是考…

Android13修改多媒體默認音量

干就完了! 設置音量為最大音量,修改如下: /framework/base/media/java/android/media/AudioSystem.java/** hide */public static int[] DEFAULT_STREAM_VOLUME new int[] {4, // STREAM_VOICE_CALL7, // STREAM_SYSTEM5, // STREAM_RING-5, // STREAM_MUSIC15, // STREAM…

【Azure 架構師學習筆記】- Azure Databricks (13) -- 搭建Medallion Architecture part 1

本文屬于【Azure 架構師學習筆記】系列。 本文屬于【Azure Databricks】系列。 接上文 【Azure 架構師學習筆記】- Azure Databricks (12) – Medallion Architecture簡介 前言 上文已經介紹了關于Medallion的知識&#xff0c;本文開始用ADB 來實現&#xff0c; 但是基于內容較…

社交APP如何打造高粘性興趣社群

想要打造一款成功的社交 APP 興趣社群&#xff0c;關鍵在于充分激發用戶的主動分享意愿&#xff0c;同時構建起深度互動機制。與其在一開始就將大量資源投入到廣告宣傳中&#xff0c;倒不如把精力集中在深度挖掘和精心維護首批核心用戶上。例如&#xff0c;可以嘗試設計在線測試…

【操作系統】同步與互斥

同步與互斥 一、同步與互斥的概念1.1 同步與異步1.2 進程互斥 二、進程互斥的實現2.1 軟件實現2.1.1 單標志法2.1.2 雙標志先檢查法2.1.3 雙標志后檢查法2.1.4 Peterson法 2.2 硬件實現2.2.1 中斷指令2.2.2 TestAndSet指令2.2.3 Swap指令 三、互斥鎖四、信號量機制4.1 整型信號…

C++ 正則表達式分組捕獲入門指南

在 C 中&#xff0c;正則表達式&#xff08;regex&#xff09;是一種用于匹配字符串模式的強大工具。正則表達式不僅能幫助你查找符合特定模式的字符&#xff0c;還能捕獲匹配的子字符串&#xff08;即分組捕獲&#xff09;。這篇文章將介紹 C 正則表達式中的分組捕獲機制&…

使用Docker方式一鍵部署MySQL和Redis數據庫詳解

一、前言 數據庫是現代應用開發中不可或缺的一部分&#xff0c;MySQL和Redis作為兩種廣泛使用的數據庫系統&#xff0c;分別用于關系型數據庫和鍵值存儲。本文旨在通過Docker和Docker Compose的方式&#xff0c;提供一個簡潔明了的一鍵部署方案&#xff0c;確保數據庫服務的穩…

性能附錄:如何計算并發用戶數(摘自高樓老師《性能30講》)

高樓老師《性能30講》: 性能測試實戰30講-極客時間 感興趣的同學可以去讀一下&#xff0c;個人感覺寫的非常好 目錄 什么是并發? 在線用戶數、并發用戶數怎么計算 總結 什么是并發? 我們假設上圖中的這些小人是嚴格按照這個邏輯到達系統的&#xff0c;那顯然&#xff0c;…

基于yolov8的糖尿病視網膜病變嚴重程度檢測系統python源碼+pytorch模型+評估指標曲線+精美GUI界面

【算法介紹】 基于YOLOv8的糖尿病視網膜病變嚴重程度檢測系統 基于YOLOv8的糖尿病視網膜病變嚴重程度檢測系統是一款利用深度學習技術&#xff0c;專為糖尿病視網膜病變早期診斷設計的智能輔助工具。該系統采用YOLOv8目標檢測模型&#xff0c;結合經過標注和處理的醫學影像數…

學習路程八 langchin核心組件 Models補充 I/O和 Redis Cache

前序 之前了解了Models&#xff0c;Prompt&#xff0c;但有些資料又把這塊與輸出合稱為模型輸入輸出&#xff08;Model I/O&#xff09;?&#xff1a;這是與各種大語言模型進行交互的基本組件。它允許開發者管理提示&#xff08;prompt&#xff09;&#xff0c;通過通用接口調…

DeepSeek 開源狂歡周(五)正式收官|3FS并行文件系統榨干SSD

千呼萬喚始出來&#xff01;在 DeepSeek 開源周 的第五天&#xff0c;今日正式收官&#xff01;在大模型訓練中&#xff0c;每個epoch都在與存儲系統進行光速競賽——數據加載延遲會扭曲計算時空&#xff0c;KVCache訪問瓶頸將引發推理坍縮。DeepSeek開源的 3FS文件系統&#x…

特征工程中的三大向量化工具詳解

特征工程中的三大向量化工具詳解 在文本處理和特征工程中&#xff0c;TfidfVectorizer、CountVectorizer 和 DictVectorizer 是常用的工具&#xff0c;用于將原始數據轉換為機器學習模型可用的數值特征。以下是它們的核心區別、用法及示例&#xff1a; 1. CountVectorizer&…

C++ Qt常見面試題(4):Qt事件過濾器

在 Qt 中,事件過濾器(Event Filter)提供了一種機制,可以攔截并處理對象的事件(如鼠標事件、鍵盤事件等),在事件到達目標對象之前對其進行預處理。事件過濾器通常用于以下場景: 捕獲和處理特定的事件(如鼠標點擊、按鍵等);對事件進行篩選或修改;實現全局的事件監聽功…

TCP基本入門-簡單認識一下什么是TCP

部分內容來源&#xff1a;小林Coding TCP的特點 1.面向連接 一定是“一對一”才能連接&#xff0c;不能像 UDP 協議可以一個主機同時向多個主機發送消息&#xff0c;也就是一對多是無法做到的 2.可靠的 無論的網絡鏈路中出現了怎樣的鏈路變化&#xff0c;TCP 都可以保證一個…

PING命令TTL解析

在 ping 命令中&#xff0c;TTL&#xff08;Time to Live&#xff0c;生存時間&#xff09; 是 IP 數據包的核心字段之一&#xff0c;用于控制數據包在網絡中的生命周期。以下是針對 TTL 的簡明解析&#xff1a; 1. TTL 的核心作用 防循環機制&#xff1a;TTL 是一個計數器&a…

PySide(PyQT)重新定義contextMenuEvent()實現鼠標右鍵彈出菜單

在 PySide中&#xff0c;contextMenuEvent() 是 QWidget 類&#xff08;以及繼承自它的所有子類&#xff09;的一個事件處理方法&#xff0c;主要用于處理上下文菜單事件&#xff0c;也就是當用戶在控件上右鍵點擊時觸發的事件。 ? 通過重新定義contextMenuEvent()來實現自定…

GitHub SSH連接問題解決指南

&#x1f50d; GitHub SSH連接問題解決指南 問題描述 遇到錯誤&#xff1a;ssh: connect to host github.com port 22: Connection refused 說明您的網絡環境無法訪問GitHub的SSH端口22&#xff0c;常見原因&#xff1a; 防火墻/網絡運營商限制&#xff08;國內常見&#xf…

Go紅隊開發—并發編程

文章目錄 并發編程go協程chan通道無緩沖通道有緩沖通道創建?緩沖和緩沖通道 等協程sync.WaitGroup同步Runtime包Gosched()Goexit() 區別 同步變量sync.Mutex互斥鎖atomic原子變量 SelectTicker定時器控制并發數量核心機制 并發編程階段練習重要的細節端口掃描股票監控 并發編程…