Плагин 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

Обсуждение и поддержка: тема на форуме.

Приятного использования.

admin опубликовано 2010-7-1 Рубрика: Плагины для ISP manager | Метки: , , , , , , , , ,

27 ответов Оставить комментарий

  1. #1Komarik @ 2010-7-7 15:33

    Я на форуме сообщение создал по поводу шелла, было сказано, что сообщение должно пройти проверку. Не прошло? ))

  2. #2admin @ 2010-7-7 17:48

    Прошло. :) )
    Глючит форум. Отключил премодерацию к чертям.

  3. #3Иван @ 2010-7-9 01:24

    Добрый день!
    А вот возможно-ли написание модуля типа такого:
    http://forum.ispsystem.com/ru/showthread.php?t=10034

    Цена вопроса?

  4. #4admin @ 2010-7-9 14:24

    Добрый!
    Написание возможно. Цену сообщил в личку на форуме ИСП.

  5. #5psike @ 2010-7-12 11:54

    Еще наверное требуется кнопочка удалить команду из списка

  6. #6admin @ 2010-7-12 12:51

    Не согласен. Если админов несколько, то отсутствие кнопки позволит видеть что делали другие. А если админ один, то и скрывать ему нечего и, следовательно, незачем удалять.

  7. #7Владимир @ 2010-7-16 13:48

    А как отключить плагин?

  8. #8admin @ 2010-7-16 14:18

    Достаточно удалить xml плагина и очистить кэш:

    rm /usr/local/ispmgr/etc/ispmgr_mod_shell.xml
    rm -rf /usr/local/ispmgr/var/.xmlcache/ispmgr
    killall ispmgr
  9. #9pit @ 2010-8-2 12:49

    Установил но пишет
    Ошибка: Внутренняя ошибка can’t post data
    «malformed result» в панели.
    Как лечить ?

  10. admin @ 2010-8-2 14:27

    Сообщите:
    1. версию панели.
    2. как производили установку (вручную или автоматически).
    3. права доступа на файл /usr/local/ispmgr/addon/shell.
    4. команду, запускаемую при помощи плагина.
    5. наличие файлов /usr/local/ispmgr/var/mod_shell.*.

  11. #10Игорь @ 2010-9-30 12:15

    Здраствуйте!
    Такая же проблема Ошибка: Внутренняя ошибка malformed result

    версия панели ISPmanager-Pro 4.3.47 FreeBSD 8.1 i386
    Установка панели выполнялась автоматом и вручную и все равно не работает
    права доступа 777
    команду запустить не могу ибо выдает ошибку
    в папке нету таких файлов

  12. admin @ 2010-9-30 16:21

    Меня не интересует как вы ставили панель, интересует как ставили плагин: автоматом или вручную.
    Кеш панели чистили, панель рестартили?

  13. #11psike @ 2010-10-1 07:51

    таже самая ошибка… ставил автоматом, все отлично работало. После обновления на ISPmanager-Pro 4.3.47 при заходе выдает ошибку «malformed result».
    Стоит Дебиан

  14. admin @ 2010-10-1 14:48

    Игорь, psike, я на своих серверах давно отключил обновление, поэтому мне нужен доступ, чтобы понять причину ошибки. И запустите скрипт с консоли и выложите результат сюда.

  15. #12Антон @ 2010-10-1 16:34

    Скажите когда будут сделано обновление для ISPmanager Lite 4.3.47
    «malformed result»
    FreeBSD 8.0
    на версии 4.3.46 всё работало нормально. Установка плагина автоматическая.

  16. #13psike @ 2010-10-1 20:04

    root@dkhst:/usr/local/ispmgr/addon# ./shell

    Auth failed

  17. admin @ 2010-10-1 20:15

    psike, Нормальная выдача.

    Вы кеш панели чистили?
    Если нет, то:
    rm /usr/local/ispmgr/etc/ispmgr_mod_shell.xml
    rm -rf /usr/local/ispmgr/var/.xmlcache/ispmgr
    killall ispmgr

    Есои не поможет, то:
    Найдите в тексте строку my $ses = Mgr::session($mgr_cookie_name, $Q); и вставьте после нее $ses = 1;.
    Теперь запустите скрипт из консоли еще раз и выложите результат.
    Удалите добавленную строку.

    Антон, думаю, что как только найду проблему, так сразу и сделаю апдейт.

  18. #14psike @ 2010-10-2 09:48

    admin,
    первый вариант не помог, после него исчезла «команды shell» из меню. Пришлось заново переставлять из плагинов(хотя там стояла желтая лампочка)

    а второй вариант помог))
    теперь просто возвращается пустота, если выполнять из консоли
    root@dkhst:/usr/local/ispmgr/addon# ./shell

  19. #15psike @ 2010-10-2 09:52

    root@dkhst:/usr/local/ispmgr/addon# ./shell
    ?xml version=»1.0″ encoding=»UTF-8″?
    doc /doc

    знаки больше меньше убрал, так как они не воспринимались

  20. #16admin @ 2010-10-2 16:49

    Упс. Я ошибся.
    Для очистки кеша нужно выполнить лишь эту часть:
    rm -rf /usr/local/ispmgr/var/.xmlcache/ispmgr
    killall ispmgr

    Попробуйте еще раз.

    Выдача абсолютно нормальная.
    Если это не поможет, то дело в панели.

  21. admin @ 2010-10-4 14:22

    Дело было в панели.
    Сегодня выйдет обновление панели, исправляющее эту ошибку.

  22. #17Кирилл @ 2011-11-22 19:32

    ISPmanager Lite 4.4.1 — плагин не стартует с описываемой выше ошибкой «malformed result». Ставил как автоматикой, так и руками с очисткой кеша — результат один :( Можно надеяться на фикс для актуальной панельки?

  23. #18admin @ 2011-11-22 21:52

    Системные требования выполнены? Речь о модулях perl: LWP и XML::LibXML.
    Это можно проверить, запустив скрипт в консоли.

  24. #19Кирилл @ 2011-11-22 23:00

    Забавно, при установке плагин не ругнулся на нехватку этих модулей, в отличие от других плагинчиков.

    С 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

  25. admin @ 2011-11-22 23:45

    Вроде он зовется LWP::Simple. Вы можете просто заново плагин поставить, панель теперь эти модули сама предложит установить.

  26. #20Кирилл @ 2011-11-23 01:39

    В том-то и фокус, что плагин при установке (даже повторной) даже не заикнулся о необходимости тех или иных модулей.

    Установил все перечисленные выше, плагин вроде «завелся» (правда у кнопок «Запуск» и «Настройки» нет текстовых подписей — так и задумано?), но на попытку выполнить команду top возвращает сообщение «TERM environment variable not set.». Прощу заранее прощения за нубовский вопрос — но что ему еще может не хватать? Или плагин не знает путей, и путь к каждой утилите надо обязательно прописывать?

  27. admin @ 2011-11-23 15:18

    Насчет текстовых подписей: да, это нормально. Плагин старый, тогда подписей вообще еще в панели не было. Удивительно, что у 2 кнопок они все же есть. Это я поправлю.
    Насчет команды top, равно как и всех других команд, требующих наличие сессии терминала (клавиатурного ввода): их запускать бессмысленно. Если нужно посмотреть top, запускайте так: top -b -n 1

Ответить

(Ctrl + Enter)