organzing for portfolio
This commit is contained in:
@ -0,0 +1,99 @@
|
||||
#!/bin/bash
|
||||
#Standalone script for setting Administrator Privileges
|
||||
|
||||
#set -x
|
||||
|
||||
#Checks to see if the server is a HP
|
||||
function server-check()
|
||||
{
|
||||
SERVER_TYPE="$(dmidecode -t system|grep Manufacturer |grep HP -c)"
|
||||
if [ $SERVER_TYPE -eq 0 ]; then
|
||||
echo This is not a HP server, exiting.
|
||||
exit
|
||||
fi
|
||||
|
||||
if [ $SERVER_TYPE -eq 1 ]; then
|
||||
echo Server is a HP, checking admin privileges
|
||||
#yum install -y hponcfg
|
||||
ilo-check
|
||||
fi
|
||||
}
|
||||
|
||||
#Checks the status of iLO on the server
|
||||
function ilo-check()
|
||||
{
|
||||
#Generates the XML file for checking iLO
|
||||
cat > /tmp/ilo.check << ENDCHECK
|
||||
<RIBCL VERSION="2.0">
|
||||
<LOGIN USER_LOGIN="adminname" PASSWORD="password">
|
||||
<USER_INFO MODE="read">
|
||||
<GET_USER USER_LOGIN="Administrator"/>
|
||||
</USER_INFO>
|
||||
</LOGIN>
|
||||
</RIBCL>
|
||||
ENDCHECK
|
||||
|
||||
#iLO Status variable
|
||||
ILOSTATUS="$(hponcfg -f /tmp/ilo.check | grep ADMIN_PRIV |grep -i y -c)"
|
||||
if [ $ILOSTATUS -eq 0 ]; then
|
||||
echo Administrator does not have admin privileges. Enabling...
|
||||
configure-ilo
|
||||
fi
|
||||
|
||||
if [ $ILOSTATUS -eq 1 ]; then
|
||||
echo Administrator has admin privileges, exiting
|
||||
fi
|
||||
}
|
||||
|
||||
function configure-ilo()
|
||||
{
|
||||
|
||||
#Build xml config file for ILO
|
||||
cat > /tmp/ilo.dat <<ENDILO
|
||||
<!-- HPONCFG VERSION = "1.9" -->
|
||||
<!-- Generated 1/31/2013 16:8:49 -->
|
||||
<RIBCL VERSION="2.1">
|
||||
<LOGIN USER_LOGIN="Administrator" PASSWORD="xxxxx">
|
||||
<USER_INFO MODE="write">
|
||||
<MOD_USER USER_LOGIN="Administrator">
|
||||
<USER_NAME value="Administrator"/>
|
||||
<PASSWORD value="admin11=="/>
|
||||
<ADMIN_PRIV value="Yes"/>
|
||||
<REMOTE_CONS_PRIV value="Yes"/>
|
||||
<RESET_SERVER_PRIV value="Yes"/>
|
||||
<VIRTUAL_MEDIA_PRIV value="Yes"/>
|
||||
<CONFIG_ILO_PRIV value="Yes"/>
|
||||
<!-- Firmware support infomation for next 6 tags: -->
|
||||
<!-- iLO 2 - None. -->
|
||||
<!-- iLO - Version earlier than 1.40. -->
|
||||
<!-- RILOE II - None. -->
|
||||
<!-- <VIEW_LOGS_PRIV value="Yes"/> -->
|
||||
<!-- <CLEAR_LOGS_PRIV value="Yes"/> -->
|
||||
<!-- <EMS_PRIV value="Yes"/> -->
|
||||
<!-- <UPDATE_ILO_PRIV value="No"/> -->
|
||||
<!-- <CONFIG_RACK_PRIV value="Yes"/> -->
|
||||
<!-- <DIAG_PRIV value="Yes"/> -->
|
||||
</MOD_USER>
|
||||
</USER_INFO>
|
||||
</LOGIN>
|
||||
</RIBCL>
|
||||
ENDILO
|
||||
|
||||
#Apply config to the iLO card
|
||||
hponcfg -f /tmp/ilo.dat
|
||||
|
||||
echo "Admin Privileges enabled on $(hostname)"
|
||||
|
||||
}
|
||||
|
||||
##########################################################################################
|
||||
## Control logic for the script ##
|
||||
##########################################################################################
|
||||
main()
|
||||
{
|
||||
echo "iLO Admin Privilege checker initiated on $(hostname) at $(date)"
|
||||
|
||||
server-check
|
||||
}
|
||||
|
||||
main
|
Reference in New Issue
Block a user