Заключение в кавычки symcbean, "нет такой вещи, как вошли ldap". Но существует такая вещь как пользователи, которые проходят проверку подлинности через ldap.
Строго говоря, при конфигурировании хоста для использования бэкенда аутентификации как ldap, служба имен Переключатель (nsswitch) могла (и возможно должен) кэшировать информацию о пользователе, чтобы позволить Вам входить в свою систему. На самом деле, с моей точки зрения, не имеет значения, если данные кэшируются, это - все еще информация, прибывающая из того бэкенда.
У пользователей, принадлежат ли они NIS, Unix или ldap бэкенду, есть UID. В надлежащей настроенной системе UID от одного бэкенда не должен соответствовать тем, которые в другом бэкенде (обычно, Unix и ldap бэкенды сосуществуют).
Для окончательного высказывания моего мнения у Вас есть a /etc/passwd
, и вывод getent passwd
, то, которое не должно соответствовать (ldap расширяет бэкенд Unix), поэтому Вы знаете, какие пользователи существует только на ldap. Наконец, Вы имеете last
:D который скажет Вам, кто вошел в систему когда от где помимо автора средства системного журнала для проверения дважды. Вы могли сделать простой сценарий, который мог сказать Вам, какие пользователи LDAP вошли в систему с этой информацией о на основание хоста.
Примечание: если Вы копировали пользователей в Unix и ldap с теми же идентификаторами затем you'r самостоятельно :)
Выполнение того, что вы предлагаете с DNS, обычно считается небезопасным (если я могу проникнуть через ваш брандмауэр и у меня есть контроль обратного DNS для своего IP, я могу притвориться любым хостом, который захочу).
Ограниченный список разрешенных IP-адресов , как правило, считается более безопасным (особенно если он применяется брандмауэром Windows или пограничным брандмауэром - неавторизованные хосты даже не увидят порт как открытый).
Вот сценарий, который вы можете использовать для проверки имени клиента подключающегося компьютера. Вам нужно будет ввести строку для каждого имени компьютера, к которому вы ДЕЙСТВИТЕЛЬНО хотите иметь возможность подключиться, что означает, что вам нужно знать имя компьютера для каждого пользователя, которому будет разрешено войти в систему. Отредактируйте в соответствии с вашими потребностями:
IF% CLIENTNAME% == ComputerName1
GOTO OK
IF% CLIENTNAME% == ComputerName2
GOTO OK
msg * Вы не авторизован для входа с этого места. Вы выйдете из системы через 10 секунд.
sleep 10
LOGOFF
: OK
EXIT