需求:已知BMC帐号id2为root管理员帐号,添加id5bmc帐号

工具:ipmitool version 1.8.14

系统:CentOS release 6.6 (Final)

1,通过yum安装ipmitool安装源

[root@zxl]# yum install ipmitool

2,手动安装ipmitool

rpm -ivh OpenIPMI-tools-2.0.-.el5.x86_64.rpm
/sbin/modprobe ipmi_msghandler
/sbin/modprobe ipmi_devintf
/sbin/modprobe ipmi_poweroff
/sbin/modprobe ipmi_watchdog
/sbin/modprobe ipmi_si

3,新建ip.csv文件,将BMC的userid(第一列),username(第二列),userpassword(第三列),用户名权限(第四列)

user_id,user_name,user_password,user_priv
,root,123456,
,yewu,1234567,
,bmc,12345678,

4,编辑ipmitool_adduser_inband.sh

#!/bin/bash

#版本和编辑日期
VERSION=1.0.
MODIFY_DATE= #帮助信息函数
function printHelp()
{
echo "Tool Version:$VERSION($MODIFY_DATE)"
echo "Usage:$0 -i user_conf_File"
} #如果脚本执行时加上-h参数,则打印帮助信息
case $ in
-h|--help)
printHelp
exit
;;
esac #获取执行脚本时的-i选项参数,把参数赋给user_conf_FILE
#若脚本的选项参数不是-i,则直接退出
while getopts ":i:" opt
do
case $opt in
i)
USER_CONF_FILE=$OPTARG
echo "user config file is "$USER_CONF_FILE
;;
*)
echo "argument error"
exit ;;
esac
done #判断有没有给USER_CONF赋值,没有则直接退出
if [ ${#USER_CONF_FILE} -eq ]
then
echo "please assign config file. detail info check -h"
exit
fi #脚本把日志输出到add_user_result.log文件
LOG_FILE="add_user_result.log" declare -i i= #循环读取文件
for LINE in `cat $USER_CONF_FILE`;
do
{ ((i=i+)) if [ $i -eq ]
then
continue
fi #简单的判断某行的有效性,如果读取到某行的长度小于10,则直接退出
if [ ${#LINE} -lt ]
then
exit ;
fi #把变量清空,给变量赋值
USER_ID=""
USER_NAME=""
USER_PASSWD=""
USER_PRIV="" USER_ID=`echo $LINE | awk -F, '{print $1}'`
USER_NAME=`echo $LINE | awk -F, '{print $2}'`
USER_PASSWD=`echo $LINE | awk -F, '{print $3}'`
USER_PRIV=`echo $LINE | awk -F, '{print $4}' | sed 's/\r//g'` # echo "user password $USER_PASSWD"
#判断从文件中读取到的数据是否是空,若是,则直接退出,脚本停止运行
if [ ${#USER_ID} -eq ] || [ ${#USER_NAME} -eq ] || [ ${#USER_PASSWD} -eq ] ||
[ ${#USER_PRIV} -eq ]
then
echo "please check data valid of file $USER_CONF_FILE file "
exit
fi #增加用户名,密码并设置对应权限
ipmitool user set name $USER_ID $USER_NAME
ipmitool user set password $USER_ID $USER_PASSWD
ipmitool user priv $USER_ID $USER_PRIV
ipmitool user priv $USER_ID $USER_PRIV
ipmitool channel setaccess $USER_ID callin=on ipmi=on link=on privilege=$USER_PRIV
ipmitool channel setaccess $USER_ID callin=on ipmi=on link=on privilege=$USER_PRIV
ipmitool user enable $USER_ID }
done echo "ipmitool user list 1" | tee -a $LOG_FILE
ipmitool user list | tee -a $LOG_FILE
echo "ipmitool user list 8" | tee -a $LOG_FILE
ipmitool user list echo "add all user name success" | tee -a $LOG_FILE

5,执行ipmitool_adduser_inband.sh -i ip.csv

[root@zxl]# ./ipmitool_adduser_inband.sh -i ip.csv
user config file is ip.csv

6,查看执行后的结果

[root@zxl]# ipmitool user list
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
root true true true USER
yewu   true true true OPERATOR
bmc true true true ADMINISTRATOR

linux系统下ipmitool添加BMC帐号密码的更多相关文章

  1. Linux系统下用户如何膝盖FTP用户密码

    其实修改ftp用户密码与修改普通用户的密码的过程是一眼高的其具体步骤如下 1.用root账户登录系统 2.使用passwd命令修改密码: 第一次输入密码后提示:The password fails t ...

  2. linux系统下使用xampp 丢失mysql root密码【xampp的初始密码为空】

    如果在ubuntu 下面 使用xampp这个集成开发环境,却忘记mysql密码. 注:刚安装好的xampp的Mysql初始密码是空... 找回密码的步骤如下: 1.停止mysql服务器 sudo /o ...

  3. linux系统下使用xampp 丢失mysql root密码 只能远程访问,本地无法连接数据库

    如果在ubuntu 下面 使用xampp这个集成开发环境,却忘记mysql密码. 当出现只能远程访问的,本地无法访问,通常是host改成% 远程访问,本地访问到一个是空壳.这是权限的问题 需要修hos ...

  4. 使用 ipmitool 实现 Linux 系统下对服务器的 ipmi 管理

    http://www.ibm.com/developerworks/cn/linux/l-ipmi/ 1.简介 IPMI(Intelligent Platform Management Interfa ...

  5. LINUX系统下添加映射存储LUN

    LINUX系统下添加映射存储LUN(无需重启) 背景:Oracle rac环境 添加新实例,重新划分存储空间,从存储映射新的LUN. 问题:映射后,linux操作系统无法识别新的LUN,不能重启系统, ...

  6. Linux系统下给非root用户添加sudo权限

    Linux系统下给非root用户添加sudo权限 有时,在linux系统中非root用户运行sudo命令,会提示类似信息:  xxx is not in the sudoers file. This ...

  7. Linux系统下权限管理和命令详解

    下面对linux系统下的有关权限操作命令进行了梳理总结,并配合简单实例进行说明.linux中除了常见的读(r).写(w).执行(x)权限以外,还有其他的一些特殊或隐藏权限,熟练掌握这些权限知识的使用, ...

  8. Linux系统下基本命令

    <Linux系统下基本命令> Linux系统下基本命令: 要区分大小写 uname 显示版本信息(同win2K的 ver) dir 显示当前目录文件,ls -al 显示包括隐藏文件(同wi ...

  9. Linux系统下用户与组的管理

    Linux系统下用户与组的管理 一.用户及组基本概述 Linux 系统上,用户管理是基于用户名和密码的方式进行资源的分配. 1.uid(用户身份标识) (1)root用户 uid为0 (2)普通用户: ...

随机推荐

  1. windows下通过.bat运行java程序

    在windows下运行Java项目,单独的jar可以使用,java -jar xxx.jar 运行,如果是一个zip包,里面包含了class文件和所依赖的jar的时候,可以使用 (也可以以看看这里): ...

  2. 【转】关于一个Jmeter interface testing的实例

    目标:测试某个保险系统的费率接口 准备:a 请求方式:Http b 接口地址://10.1.1.223:9090/rulesEngine/executeRateRule.do Jmeter 设置: a ...

  3. 【转】Jmeter MySQL数据库性能测试

    1.首先准备M一SQL数据,新建一个数据库及测试用的表,插入1条数据 2.打开Jmeter,新建线程组,设置多少用户,循环几次随意 3.在线程组下新增JDBC配置元件,通过配置使得Jmeter能够连上 ...

  4. java代码List接口和Arraylist类

    总结: package clientFrame; import java.util.*; //集合类 List是一个接口.ArrayList是一个类 public class ArraylitTest ...

  5. Java-Runoob:Java 基本数据类型

    ylbtech-Java-Runoob:Java 基本数据类型 1.返回顶部 1. Java 基本数据类型 变量就是申请内存来存储值.也就是说,当创建变量的时候,需要在内存中申请空间. 内存管理系统根 ...

  6. print 函数用法总结

    1. 字符串和数值类型 >>> print(1) 1 >>> print("Hello World") Hello World 2.变量无论什么 ...

  7. Windows Media Player 打不开怎么办

    1. 右键VS工具箱的空白处; 2. 打开工具箱, 选择com组件→找到windows media player 3. 如果这里没有发现 windows Media Player怎么办? , 以win ...

  8. C#三层架构实例

    对于三层的概念查也查了,看也看了,下面是我找的一个关于三层的简单实例,真正看一下它是如何具体实现的. 我们先来一起看看 实体类-Model 实质:实体类就是在完成数据库与实体类对应的功能,一个类是一张 ...

  9. 获取Request.Form所有内容

    string wwww = "";        for (int i = 0; i < Request.Form.Count; i++)        {          ...

  10. C++深度解析教程学习笔记(4)C++中的新成员

    1. 动态内存分配 (1)C++通过 new 关键字进行动态内存申请,是以类型为单位来申请空间大小的 (2)delete 关键字用于内存释放 ▲注意释放数组时要加[],否则只释放这个数组中的第 1 个 ...