У меня много серверов, более 50. Раньше мы использовали аутентификацию LDAP. Теперь мы решили перейти к тому, что одно и то же имя пользователя должно быть аутентифицировано локально на сервере, а не аутентификация LDAP. Что-то пошло не так, и мы потеряли след, нам пришлось изменить схему аутентификации. Теперь мне нужно вручную войти на все серверы и проверить. Какой надежный способ проверить, аутентифицирована ли учетная запись пользователя локально или через LDAP? PS: Я пробовал проверять файл /etc/passwd на предмет имени пользователя, но это не работает. Хотя запись есть, учетная запись пользователя аутентифицирована через LDAP :(
решение1
getent passwd "username"
Скопировать результат в буфер
vipw
Вставьте туда строку. Либо в конец, либо в нужное место.
getent shadow "username"
Скопируйте строку еще раз
vipw -s
Вставьте в него строку. Затем используйте
passwd "username"
чтобы снова задать сам пароль. «getent» не предоставит вам зашифрованный пароль LDAP.
решение2
Я не совсем уверен, о чем вы спрашиваете, но такие изменения обрабатываются в /etc/nsswitch.conf. Найдите раздел пользователей в этом файле, который должен сказать вам, является ли он локальным (файлы) или ldap.