Плагин Shell для ISP manager
Данный плагин предназначен для root-пользователей ISP manager, основным иструментом администрирования для которых является панель. Бывает необходимость срочно выполнить пару консольных команд, а для этого приходится запускать консоль и логиниться. Обидно, ведь мы уже влогинены под тем же рутом, но в панели.
Данный плагин предназначен именно для таких случаев.
Возможности:
- Выполнение любой неинтерактивной (не предусматривающей ввода с клавиатуры в процессе выполнения) команды.
- Отображение вывода выполненной команды.
- Ведение истории команд.
- Настройки:
- Длина истории команд
Скачать плагин
Версия: 1.02 (10.11.2010)
Изменения версии 1.02 (10.11.2010):
- ВАЖНО! Добавлена проверка на принадлежность пользователя группе администраторов.
Это устраняет критическую проблему безопасности предыдущих версий.
Изменения версии 1.01 (02.07.2010):
- Добавил настройку «Максимальное время выполнения команды (сек)».
Это позволит не повесить панель при вызове интерактивной (либо очень долгой) команды. По-умолчанию: 30 сек - Добавил выдачу ошибок команд.
Это позволит видеть выдачу ошибок команд. В предыдущей версии, при возникновении ошибки, был «malformed result» в панели. - Множественный мелкий багофикс и импрувмент.
Хинты, проверки, защита от дурака.
Системные требования:
- Модули Perl:
- LWP
- XML::LibXML
Установка:
сd /usr/local/ispmgr
wget http://usings.ru/upload/isp_plugins/shell.tar.gz
tar xzf shell.tar.gz
rm -rf /usr/local/ispmgr/var/.xmlcache/ispmgr
killall ispmgr
Обсуждение и поддержка: тема на форуме.
Приятного использования.
29 ответов Оставить комментарий
Я на форуме сообщение создал по поводу шелла, было сказано, что сообщение должно пройти проверку. Не прошло? ))
Прошло. :))
Глючит форум. Отключил премодерацию к чертям.
Добрый день!
А вот возможно-ли написание модуля типа такого:
http://forum.ispsystem.com/ru/showthread.php?t=10034
Цена вопроса?
Добрый!
Написание возможно. Цену сообщил в личку на форуме ИСП.
Еще наверное требуется кнопочка удалить команду из списка
Не согласен. Если админов несколько, то отсутствие кнопки позволит видеть что делали другие. А если админ один, то и скрывать ему нечего и, следовательно, незачем удалять.
А как отключить плагин?
Достаточно удалить xml плагина и очистить кэш:
Установил но пишет
Ошибка: Внутренняя ошибка can’t post data
«malformed result» в панели.
Как лечить ?
Сообщите:
1. версию панели.
2. как производили установку (вручную или автоматически).
3. права доступа на файл /usr/local/ispmgr/addon/shell.
4. команду, запускаемую при помощи плагина.
5. наличие файлов /usr/local/ispmgr/var/mod_shell.*.
Здраствуйте!
Такая же проблема Ошибка: Внутренняя ошибка malformed result
версия панели ISPmanager-Pro 4.3.47 FreeBSD 8.1 i386
Установка панели выполнялась автоматом и вручную и все равно не работает
права доступа 777
команду запустить не могу ибо выдает ошибку
в папке нету таких файлов
Меня не интересует как вы ставили панель, интересует как ставили плагин: автоматом или вручную.
Кеш панели чистили, панель рестартили?
таже самая ошибка… ставил автоматом, все отлично работало. После обновления на ISPmanager-Pro 4.3.47 при заходе выдает ошибку «malformed result».
Стоит Дебиан
Игорь, psike, я на своих серверах давно отключил обновление, поэтому мне нужен доступ, чтобы понять причину ошибки. И запустите скрипт с консоли и выложите результат сюда.
Скажите когда будут сделано обновление для ISPmanager Lite 4.3.47
«malformed result»
FreeBSD 8.0
на версии 4.3.46 всё работало нормально. Установка плагина автоматическая.
[email protected]:/usr/local/ispmgr/addon# ./shell
Auth failed
psike, Нормальная выдача.
Вы кеш панели чистили?
Если нет, то:
rm /usr/local/ispmgr/etc/ispmgr_mod_shell.xmlrm -rf /usr/local/ispmgr/var/.xmlcache/ispmgr
killall ispmgr
Есои не поможет, то:
Найдите в тексте строку
my $ses = Mgr::session($mgr_cookie_name, $Q);
и вставьте после нее$ses = 1;
.Теперь запустите скрипт из консоли еще раз и выложите результат.
Удалите добавленную строку.
Антон, думаю, что как только найду проблему, так сразу и сделаю апдейт.
admin,
первый вариант не помог, после него исчезла «команды shell» из меню. Пришлось заново переставлять из плагинов(хотя там стояла желтая лампочка)
а второй вариант помог))
теперь просто возвращается пустота, если выполнять из консоли
[email protected]:/usr/local/ispmgr/addon# ./shell
[email protected]:/usr/local/ispmgr/addon# ./shell
?xml version=»1.0″ encoding=»UTF-8″?
doc /doc
знаки больше меньше убрал, так как они не воспринимались
Упс. Я ошибся.
Для очистки кеша нужно выполнить лишь эту часть:
rm -rf /usr/local/ispmgr/var/.xmlcache/ispmgr
killall ispmgr
Попробуйте еще раз.
Выдача абсолютно нормальная.
Если это не поможет, то дело в панели.
Дело было в панели.
Сегодня выйдет обновление панели, исправляющее эту ошибку.
ISPmanager Lite 4.4.1 — плагин не стартует с описываемой выше ошибкой «malformed result». Ставил как автоматикой, так и руками с очисткой кеша — результат один 🙁 Можно надеяться на фикс для актуальной панельки?
Системные требования выполнены? Речь о модулях perl: LWP и XML::LibXML.
Это можно проверить, запустив скрипт в консоли.
Забавно, при установке плагин не ругнулся на нехватку этих модулей, в отличие от других плагинчиков.
С LibXML более-менее понятно, а что LWP — это что? Вот, что есть в доступных пакетах моей панельки (CentOS):
perl-LWP-Authen-Wsse-0.05-2.el5.1
perl-LWP-UserAgent-Determined-1.04-1.el5
perl-LWPx-ParanoidAgent-1.07-1.el5
perl-Test-Mock-LWP-0.05-3.el5
Вроде он зовется LWP::Simple. Вы можете просто заново плагин поставить, панель теперь эти модули сама предложит установить.
В том-то и фокус, что плагин при установке (даже повторной) даже не заикнулся о необходимости тех или иных модулей.
Установил все перечисленные выше, плагин вроде «завелся» (правда у кнопок «Запуск» и «Настройки» нет текстовых подписей — так и задумано?), но на попытку выполнить команду top возвращает сообщение «TERM environment variable not set.». Прощу заранее прощения за нубовский вопрос — но что ему еще может не хватать? Или плагин не знает путей, и путь к каждой утилите надо обязательно прописывать?
Насчет текстовых подписей: да, это нормально. Плагин старый, тогда подписей вообще еще в панели не было. Удивительно, что у 2 кнопок они все же есть. Это я поправлю.
Насчет команды top, равно как и всех других команд, требующих наличие сессии терминала (клавиатурного ввода): их запускать бессмысленно. Если нужно посмотреть top, запускайте так:
top -b -n 1
После некоторых манипуляций удалось добиться работоспособности скрипта в панели,
но в консоли скрипт как и прежде выдает:
error code=»100″ Auth failed
этаже ошибка наблюдается при вызове скрипта через Api.
В чем может быть проблема?
Никакой проблемы нет. Так и должно быть.