Как стать автором
Обновить

История с i-Stor iS607

Время на прочтение1 мин
Количество просмотров431
На днях (после отключения электричества и полного разряда аккумулятора ИБП)
появилась необходимость помимо автоматического выключения роутера при низком
заряде UPS'а, ещё и выключение сабжевого хранилища.

Решено это было делать в момент отключения самого роутера
путём добавления необходимого набора команд в rc.shutdown.

После ковыряния cgi-скриптов была получена заветная команда:
curl -d "powerAction=2" <storage_ip>:80/cgi/power/powerHandler.cgi

При этом если пройти авторизацию:
curl -d "username=admin&password=_passwd_here_" <storage_ip>:80/loginHandler.cgi,
то получим такие параметры:
<input type="hidden" name="username" value="admin">
<input type="hidden" name="sessionId" value="q1pOmWykGFZUnSAjWG9189d1jnZGXBQcr5QDPcLmHB4Uhu21YZTUZWK68zCTYgV">


Самое удивительное в этом то, что powerHandler даже не пытается
стянуть данные с кукисов при выключении/перезагрузке NAS хранилища,
несмотря на наличие того же LoginUser.

Всё описанное выше характерно для прошивки 2.6.3-20080530.

И напоследок то, что добавлено в /etc/rc.shutdown:
if [ `ping -qc 3 <storage_ip> | awk '/packets/ { if ( $4 > 0 ) { print 1; } else { print 0; } }'` -eq 1 ]; then
echo "Send shutdown signal to storage"
curl -d "powerAction=2" <storage_ip>:80/cgi/power/powerHandler.cgi >/dev/null 2>&1
fi
Теги:
Хабы:
Всего голосов 2: ↑1 и ↓10
Комментарии2

Публикации

Ближайшие события