需求:已知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. TCP报文送达确认ACK

    TCP数据包中的序列号(Sequence Number)不是以报文段来进行编号的,而是将连接生存周期内传输的所有数据当作一个字节流,序列号就是整个字节流中每个字节的编号.一个TCP数据包中包含多个字节 ...

  2. 显示等待 之 text_to_be_present_in_element 判断元素是否有xx 文本信息 用法

  3. Java-Maven-Runoob:Maven 构建配置文件

    ylbtech-Java-Maven-Runoob:Maven 构建配置文件 1.返回顶部 1. Maven 构建配置文件 构建配置文件是一系列的配置项的值,可以用来设置或者覆盖 Maven 构建默认 ...

  4. 1046 Shortest Distance

    题意:给出一个环和结点之间的距离,求任意两结点之间的最近距离.如图: 思路:令数组dis[i]表示1号结点逆时针至i号结点的距离,初始化dis[1]=0,其他值在输入是确定,即 dis[i] 0 1 ...

  5. U-boot分析与移植(1)----bootloader分析

    一.Boot Loader 概念 就是在操作系统内核运行之前运行的一段小程序.通过这段小程序,我们可以初始化硬件设备.建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作 ...

  6. GET、POST详解 --转自http://hi.baidu.com/richarwu/item/bd43633a6ba62986b611dbcd

    HTTP Get,Post请求详解 请求类型 三种最常见的请求类型是:GET,POST 和 HEAD GET:获取一个文档 大部分被传输到浏览器的html,images,js,css, … 都是通过G ...

  7. 使用mbed进行STM32板子的开发

    keil太难用!keil太难用!keil太难用! keil点亮一个灯都超麻烦,什么鬼东西. mbed可以网络编程,打破了mac和windows的壁垒!写好,编译,然后下下来,在拖到板子里.就直接烧进去 ...

  8. leetcode762

    class Solution { public: bool IsPrime(int n) { ) { return false; } || n == ) { return true; } ; i &l ...

  9. 通过class类获取类的方法信息

    测试:

  10. Awake & Start

    [Awake & Start] MonoBehaviour.Awake() Awake is used to initialize any variables or game state be ...