rexec(3)

НАИМЕНОВАНИЕ
rexec, rexec_af - возвращает поток удалённой команде

БИБЛИОТЕКА
Стандартная библиотека языка C (libc, -lc)

ОБЗОР
#include <netdb.h>

[[deprecated]]
int rexec(char **restrict ahost, int inport,
          const char *restrict user, const char *restrict passwd,
          const char *restrict cmd, int *restrict fd2p);

[[deprecated]]
int rexec_af(char **restrict ahost, int inport,
          const char *restrict user, const char *restrict passwd,
          const char *restrict cmd, int *restrict fd2p,
          sa_family_t af);

rexec(), rexec_af():
    начиная с glibc 2.19:
        _DEFAULT_SOURCE
    в glibc до версии 2.19 включительно:
        _BSD_SOURCE

ОПИСАНИЕ
Этот интерфейс устарел, используйте rcmd(3).

The rexec() function looks up the host *ahost using gethostbyname(3), returning -1 if the host does not exist. Otherwise, *ahost is set to the standard name of the host. If a username and password are both specified, then these are used to authenticate to the foreign host; otherwise, the environment and then the .netrc file in user's home directory are searched for appropriate information. If all this fails, the user is prompted for the information.

В inport указывается, какой хорошо известный (well-known) порт DARPA Internet нужно использовать для подключения; вызов getservbyname("exec", "tcp") (смотрите getservent(3)) вернёт указатель на структуру, которая содержит необходимый порт. Протокол подключения подробно описан в rexecd(8).

Если соединение успешно установлено, то вызывающему возвращается сокет в Интернет-домене типа SOCK_STREAM, который для удалённой команды считается stdin и stdout. Если fd2p не равно нулю, то устанавливается вспомогательный канал до управляющего процесса, а его файловый дескриптор будет помещён в *fd2p. Управляющий процесс возвращает диагностический вывод из команды (устройства 2) в этот канал, а также принимает байты из этого канала, считая их номерами сигналов UNIX, для их пересылки группе процессов команды. Возвращаемая диагностическая информация не содержит ошибки удалённой авторизации, так как второе подключение устанавливается после прохождения авторизации. Если fd2p равно 0, то stderr (устройство 2 удалённой команды) будет работать аналогично stdout и для отправки произвольных сигналов в удалённый процесс ничего не будет сделано, хотя вы сможете привлечь к себе внимание, используя внеполосную передачу данных.

  rexec_af()
Функция rexec() работает по протоколу IPv4 (AF_INET). В отличие от неё, rexec_af() предоставляет ещё один аргумент, af, который позволяет вызывающему выбрать протокол. В этом аргументе можно указать значения AF_INET, AF_INET6 или AF_UNSPEC (чтобы позволить реализации выбирать протокол).

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
rexec(), rexec_af() | Безвредность в нитях | MT-Unsafe

СТАНДАРТЫ
Отсутствуют.

ИСТОРИЯ

rexec()
    4.2BSD, BSD, Solaris.

rexec_af()
    glibc 2.2.

ОШИБКИ
Функция rexec() посылает пароль через сеть в нешифрованном виде.

The underlying service is considered a big security hole, and therefore, not enabled on many sites; see rexecd(8) for explanations.

СМОТРИТЕ ТАКЖЕ
rcmd(3), rexecd(8)

ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) aereiae <aereiae@gmail.com>, Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitriy S. Seregin <dseregin@59.ru>, Katrin Kutepova <blackkatelv@gmail.com>, Lockal <lockalsash@gmail.com>, Yuri Kozlov <yuray@komyakino.ru>, Баринов Владимир и Иван Павлов <pavia00@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (<debian-l10n-russian@lists.debian.org>).