Попытка добавить (несуществующего) пользователя в мою систему CentOS возвращается useradd: user example exists
. Я могу вручную добавить пользователя в / etc / passwd и / etc / shadow, но это обходное решение - плохая вещь. Пользователь существует в LDAP, но PAM не использует LDAP для аутентификации. Добавление других пользователей работает нормально. Я в тупике.
ETA:
[root ~]# userdel example
userdel: error deleting password entry
userdel: error deleting shadow password entry
[root ~]# useradd example
useradd: user example exists
[root ~]# su example
bash-3.2$ whoami
example
bash-3.2$ groups example
example : Users
bash-3.2$ cd
bash: cd: /home/example: No such file or directory
bash-3.2$
Если вы включите LDAP в /etc/nsswitch.conf
(например passwd: files ldap
или passwd:compat passwd_compat:ldap
и т. д.) достаточно для getent passwd
и, таким образом, для useradd
чтобы увидеть записи LDAP.
Обе утилиты не имеют ничего общего с PAM и успешно распознают записи LDAP, даже если PAM ничего не знает о LDAP.
Кстати, если у вас есть nscd
работает, не забудьте перезапустить его после изменения nsswitch.conf
.
Мне удалось удалить пользователя и добавить его снова после остановки службы sssd (я понятия не имел, что это было на сервере)
service sssd stop
deluser -f MyUser