Плагин 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 | Метки: , , , , , , , , ,

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

  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» в панели.
    Как лечить ?

    • admin @ 2010-8-2 14:27 Ответ

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

  10. #10Игорь @ 2010-9-30 12:15 Ответ

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

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

    • admin @ 2010-9-30 16:21 Ответ

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

  11. #11psike @ 2010-10-1 07:51 Ответ

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

    • admin @ 2010-10-1 14:48 Ответ

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

  12. #12Антон @ 2010-10-1 16:34 Ответ

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

  13. #13psike @ 2010-10-1 20:04 Ответ

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

    Auth failed

    • 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;.
      Теперь запустите скрипт из консоли еще раз и выложите результат.
      Удалите добавленную строку.

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

  14. #14psike @ 2010-10-2 09:48 Ответ

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

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

  15. #15psike @ 2010-10-2 09:52 Ответ

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

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

  16. #16admin @ 2010-10-2 16:49 Ответ

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

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

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

    • admin @ 2010-10-4 14:22 Ответ

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

  17. #17Кирилл @ 2011-11-22 19:32 Ответ

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

  18. #18admin @ 2011-11-22 21:52 Ответ

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

  19. #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

    • admin @ 2011-11-22 23:45 Ответ

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

  20. #20Кирилл @ 2011-11-23 01:39 Ответ

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

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

    • admin @ 2011-11-23 15:18 Ответ

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

  21. #21Евгений @ 2013-5-23 19:09 Ответ

    После некоторых манипуляций удалось добиться работоспособности скрипта в панели,
    но в консоли скрипт как и прежде выдает:
    error code=»100″ Auth failed
    этаже ошибка наблюдается при вызове скрипта через Api.
    В чем может быть проблема?

    • admin @ 2013-5-23 19:43 Ответ

      Никакой проблемы нет. Так и должно быть.

Ответить admin

Отменить

(Ctrl + Enter)