From: Dmitry Popov 22.11.2000 11:13 Subject: Re: Пользователи и блокировка в IB > >> > 1. Как из приложения узнать, кто подключен к БД (имя, указанное при > >> > регистрации)? > >> Где-то в недрах IB API есть соответствующая функция. > >> В юниксовой среде можно tcpd+identd прикрутить. > Про tcpd+identd можно чуть поподробней? Очень интересует. Ну это на самом деле менее точное и универсальное решение. Оно работает в одном из двух случаев: * Ты можешь достаточно надёжно различить клиентов по машинам. То есть знаешь, кто где сидит, и что на другую рабочую станцию никто (хотя бы как правило) не перемещается. * Твои клиенты работают под юниксовыми операционками (менее вероятно :-), которые используют единую аутентификацию (через NIS, LDAP, или ещё как). Прикручивание (кстати, к классику) делается редактированием строки в inetd.conf. Ну или чем там кто пользуется. Вместо строки которую пишет инсталятор: gds_db stream tcp nowait.100 root /usr/interbase/bin/gds_inet_server gds_inet_server ...делаем: gds_db stream tcp nowait.100 root /usr/sbin/tcpd gds_inet_server Надо ещё проследить, чтобы путь к gds_inet_server был либо прописан в PATH, с которым запускается inetd, либо прямо в inetd.conf последний параметр должен быть с полным путём. Кончится всё тем, что inetd будет стартовать gds_inet_server не напрямую, а через tcpd. Старт чуть медленнее, зато можно через hosts.allow и hosts.deny рулить доступом, видеть адреса и имена клиентов в syslog. А так же имена пользователей, если клиент заходит с юниксовой системы, и в ней есть identd, способный такие имена предъявлять. rtfm://man/hosts_access -- Дмитрий Попов, mailto:popov@krista.ru