Опознать удаленный хост
#include <unistd.h>int ruserok( char *rhost,int superuser,char *ruser,char *luser );
libsocket
Процедура ruserok() опознает удаленный хост. Она используется серверами для аутентификации клиентов, запрашивающих обслуживание, с помощью rcmd().
Функции rcmd(), rresvport(), и ruserok() используются rshd сервером (см. Справочник по Утилитам).
Функция ruserok() функция принимает имя удаленного хоста (возвращаемое функцией gethostbyaddr()), два имени пользователей и флаг, указывающий, совпадает ли имя локального пользователя с именем суперпользователя. Затем, если пользователь не является суперпользователем, она проверяет файл /etc/hosts.equiv
(описан в Справочнике по Утилитам).
Если этот поиск не выполнен или завершился неудачно, проверяется файл .rhosts в домашнем каталоге локального пользователя, чтобы узнать, разрешен ли запрос на обслуживание. Если этот файл принадлежит кому-либо, кроме пользователя или суперпользователя, или если он доступен для записи кем-либо, кроме владельца, проверка автоматически не выполняется.
Если локальный домен, полученный из gethostname(), совпадает с удаленным доменом, необходимо указать только имя компьютера.
/etc/hosts.equiv
, или хост и удаленное имя пользователя были найдены в файле
.rhosts.
Unix
gethostbyaddr(), gethostname(), iruserok(), iruserok_sa(), rcmd(), rresvport()
Предыдущий раздел: Описание API сетевой библиотеки