Я немного помучался с настройкой аутентификации ldap на Ubuntu 20.04. Я следовалэто руководство, то есть я установил пакеты libnss-ldap libpam-ldap ldap-utils nscd
.
nsswitch.conf
выглядит
passwd: files systemd ldap
group: files systemd ldap
shadow: files ldap
gshadow: files
Я изменил строку /etc/pam.d/common-password
так, чтобы она звучала так:
password [success=1 user_unknown=ignore default=die] pam_ldap.so try_first_pass
И я добавил следующую строку /etc/pam.d/common-session
:
session optional pam_mkhomedir.so skel=/etc/skel umask=022
Теперь я не уверен, необходимо ли, чтобы пользователь существовал локально или нет. Если пользователь существует, все работает нормально. Если нет, я получаю следующие сообщения в auth.log:
Jan 27 07:06:55 myserver sshd[4479]: Invalid user myuser from xxxx:xxx:xxxx:xxx::xx port 50556
Jan 27 07:07:03 myserver sshd[4479]: pam_unix(sshd:auth): check pass; user unknown
Jan 27 07:07:03 myserver sshd[4479]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=xxxx:xxx:xxxx:xxx::xx
Jan 27 07:07:03 myserver sshd[4479]: pam_ldap: error trying to bind as user "CN=myuser,OU=Users,OU=TEST,DC=ad,DC=test,DC=example,DC=de" (Invalid credentials)
Jan 27 07:07:05 myserver sshd[4479]: Failed password for invalid user myuser from xxxx:xxx:xxxx:xxx::xx port 50556 ssh2
Я что-то делаю не так, и пользователь должен быть создан автоматически (если его нет локально) или все работает как надо, и мне нужно создать пользователей заранее?
решение1
Вы добавляете полное доменное имя при входе? При входе с использованием пользователей AD (LDAP) мы должны использовать полное имя как таковое
сш[email protected]@THESERVERHOSTNAME