Hc_sudo_cmd
Команда позволяет выполнить команду с правами пользователя root.
Аналог команды в CoCon:
sudo <cmd>
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/sudo_cmd
Код HTTP-ответа:
При выполнении команды HTTP-терминал может ответить следующими сообщениями:
- 401 - параметры авторизации введены неверно;
- другие коды ответа зависят от команды, которая выполняется из под sudo.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:sequence> <xs:element name="args" type="xs:base64Binary"/> </xs:sequence> <xs:attribute name="command" type="xs:string" use="required"/> <xs:attribute name="tag" type="xs:string" use="required"/> <xs:attribute name="user" type="xs:string" use="optional"/> <xs:attribute name="header" type="xs:string" use="optional"/> <xs:attribute name="passwd_prompt" type="xs:string" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Пример:
Запрос: http://192.168.1.21:9999/commands/sudo_cmd
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hc_sudo.xsd"> <request header="Sudo required" passwd_prompt="Enter password:" tag="cluster-manager" user="ssw" command="list_of_clusters"> <args>PGluIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2Ui IHhzaTpub05hbWVzcGFjZVNjaGVtYUxvY2F0aW9uPSJoY19saXN0X29mX2NsdXN0ZXJzLnhzZCI+ ICAgICAgICA8cmVxdWVzdCBzdG9yYWdlPSJkcyIvPiAgICAgICAgPC9pbj4=</args> </request> </in>
Ответ:
- в случае неверной авторизации: 401
в случае успеха: 200
<?xml version="1.0"?> <out xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="hc_list_of_clusters.xsd"> <clusters> <cluster name="tts" role="tts" active="true"/> <cluster name="core1" role="core" active="true"/> <cluster name="bot" role="adapter" active="true"/> <cluster name=".virtual" role="adapter" active="true"/> <cluster name="md" role="mediator" active="true"/> <cluster name="ds_test" role="storage" active="true"/> <cluster name="core2" role="core" active="true"/> <cluster name=".system_bridge" role="adapter" active="true"/> <cluster name="core3" role="core" active="true"/> <cluster name="pa_sip" role="adapter" active="true"/> <cluster name="ds" role="storage" active="true"/> <cluster name="megaco1" role="adapter" active="true"/> </clusters> </out>
Hc_unsudo_cmd
Команда позволяет закрыть sudo-сессию для определенного пользователя с определенным тегом.
Метод HTTP-запроса:
POST
Шаблон HTTP-запроса:
http://host:port/commands/unsudo_cmd
Код HTTP-ответа:
- 201 - в случае, если sudo-сессия успешно закрылась;
- 404 - в противном случае.
XSD-схема XML-файла запроса/ответа:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> <!-- in--> <xs:element name="in"> <xs:complexType> <xs:sequence> <xs:element name="request"> <xs:complexType> <xs:attribute name="tag" type="xs:string" use="required"/> <xs:attribute name="user" type="xs:string" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Пример::
Запрос: http://192.168.1.21:9999/commands/unsudo_cmd
<?xml version="1.0" encoding="UTF-8"?> <in xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="hc_unsudo.xsd"> <request tag="cluster-manager" user="admin"/> </in>
Ответ в случае успеха: 204
Добавить комментарий