Покомандная авторизация означает, что пользователь не только аутентифицируется на сервере TACACS+ для работы с устройством, но и запрашивает у сервера разрешение на выполнение каждой команды. Покомандная авторизация реализована в версиях NSG Linux 2.1.6_beta5 и выше для работы через Cisco-совместимый SSH и через Web-интерфейс.
Принцип работы покомандной авторизации TACACS+
На сервере TACACS+ покомандная авторизация осуществляется следующим образом. Клиент посылает запрос авторизации с аргументом cmd и 0 или более аргументами cmd-arg. Значениями этих аргументов являются символьные строки. В Cisco любая команда представляет собой строку типа
command_name arg_1 arg_2 arg_3 …
и в запросе авторизации посылает аргументы в таком виде:
… cmd=command_name cmd-arg=arg_1 cmd-arg=arg_2 cmd-arg=arg_3 …
Доступность/недоступность команд для данного пользователя описывается в файле конфигурации сервера TACACS+, а именно, в секциях script и cmd, в соответствии с синтаксисом этого файла. Сервер проверяет эти правила для пользователя и отсылает клиенту ответ с положительным или отрицательным результатом.
Формирование аргументов запроса покомандной авторизации в NSG linux
Процедура запроса на авторизацию и формат файла конфигурации сервера TACACS+ ориентированы на командный язык Cisco Systems. В NSG Linux нет языка подобного Cisco, а есть дерево конфигурации и API для работы с деревом, которое используют различные фронтенды (nsgsh, WEB). API — это набор функций с необязательными аргументами "путь_в_дереве" и "значение". Поэтому для проведения покомандной авторизации используется следующее представление дерева команд NSG Linux:
command_name path value
То есть команда и от 0 до 2 аргументов.
Получился следующий набор команд:
get path set path value run path value insert path value new path value apply path remove path write edit path validate path
get — получить конфигурацию
set — установить значение параметра
run — запустить исполняемую команду
Остальные команды соответствуют командам в nsgsh.
Например команда port.a3.baudrate=9600 в запросе авторизации будет послана в таком виде:
… cmd=set cmd-arg=port.a3.baudrate cmd-arg=9600 …
| © Network Systems Group 2015–2026 | Отдел документации |