Для перемещения по дереву справки используйте строки заголовка.

Справка по NSG Linux 2.1.3
Дерево команд: _common-nodes.sms-handler.macros.…далее…

Что это такое?

Это макрокоманды, доступные для удалённого управления.

Зачем это нужно?

Для удобства управления по SMS, а также для разграничения прав пользователей.

Как это настроить?

Макрокоманда — это скрипт, запускаемый в командной оболочке Linux. Может содержать любые команды ОС Linux, в т.ч. вызов командной оболочки nsgsh в пакетном режиме. (В качестве примера, по умолчанию установлен запрос конфигурации.)

Макрокоманда может содержать до 9 параметров $1, $2, ..., $9, вводимых пользователем при отправке SMS. Если макрокоманда содержит аргументы, то для неё автоматически формируется список args по числу этих аргументов.

ПРИМЕЧАНИЕ. При использовании nsgsh в скриптах следует обратить внимание на права, требуемые для исполнения выбранных команд, поскольку в этот момент на устройстве может быть уже открыта административная сессия, и в этом случае скрипт запустится с правами read-only. Подробнее о правах пользователей...

Помимо макрокоманд, в SMS могут быть переданы любые другие команды и скрипты ОС Linux, но они доступны для исполнения только SMS-пользователю с правами root (см. users.PHONE.rights).

Чтобы получить список макрокоманд, доступных данному пользователю на данном устройстве, следует послать на него SMS с текстом getm, либо выбрать пункт "Получить список команд" в меню приложения NSG SMS shell.

Каждая макрокоманда идентифицируется именем. Имя должно начинаться с буквы; желательно сокращать имена до однозначного и легко запоминаемого предела, чтобы их было проще набирать на телефоне. Для добавления команд используйте команды +, _new или _insert. Для удаления используйте команду - или _remove.

Что делать, если это не работает?

  1. Смотреть журнал обрабочика SMS.
  2. В случае использования nsgsh в скриптах — проверить права доступа, требуемые для выполнения указанных действий. Убедиться в отсутствии в этот момент конкурирующих сессий управления устройством (в т.ч. вызова nsgsh из других скриптов). В случае возникновения конфликтов определить, какой из сессий следует отдавать приоритет в этом случае, и перед её запуском снять все остальные сессии командой nsgsh -q .system.sessions.close=admin.
  3. По возможности избегать использования nsgsh в скриптах. В тех случаях, когда она служит для вызова утилит, выполняемых в контексте bash, предпочтительно использовать более прямой вызов — непосредственно командами bash, например, reboot вместо nsgsh -q .system.reboot=yes.

© Network Systems Group 2015–2024 Отдел документации