У меня есть SMB-сервер Linux Mint, настроенный по умолчанию (т.е. apt-get
), так что у меня есть такой набор:
passdb backend = tdbsam
У меня LDAP правильно настроен с PAM (и логины пользователей через ssh работают правильно).
Я пробовал это сделать в настройках акции:
valid users = family
куда family
это группа на сервере LDAP.
Однако, когда я пытаюсь подключиться к серверу как пользователь ldap, он не позволяет мне подключиться. Если я подключаюсь как локальный пользователь, он работает.
Кроме того, панель управления «Общие папки» Ubuntu не показывает сетевых пользователей в списке людей, которым предоставляется доступ к различным общим папкам.
Так: почему это не работает?
Дополнения:
Вот что я считаю важной частью [очень] длинного файла журнала, помеченного именем подключенного компьютера:
Сопоставление пользователя [SEC1] [christopher] с рабочей станции [DEFIANT]
попытка сделать user_info для Кристофера (Кристофера)
создание строк для структуры user_info Кристофера
создание блобов для структуры user_info Кристофера
сделал user_info для Кристофера (Кристофера)
check_ntlm_password: Проверка пароля для несопоставленного пользователя [SEC1] [christopher] @ [DEFIANT] с новым интерфейсом пароля
check_ntlm_password: сопоставленный пользователь: [SEC1] [christopher] @ [DEFIANT]
check_ntlm_password: вызов auth_context создан случайным образом
вызов:
[0000] F9 89 7B 47 67 0B 29 49 .. {Gg.) I
Проверить авторизацию для: [christopher]
check_ntlm_password: гостю нечего было сказать
Проверить авторизацию для: [christopher]
is_myname ("SEC1") возвращает 1
push_sec_ctx (0, 0): sec_ctx_stack_ndx = 1
push_conn_ctx (0): conn_ctx_stack_ndx = 0
установка sec ctx (0, 0) - sec_ctx_stack_ndx = 1
Маркер безопасности: (NULL)
Токен UNIX пользователя 0 Основная группа равна 0 и содержит 0 дополнительных групп
pdb_getsampwnam (TDB): ошибка при загрузке базы данных. Ключ: USER_christopher
pop_sec_ctx (0, 0) - sec_ctx_stack_ndx = 0
check_sam_security: не удалось найти пользователя christopher в passdb.
check_ntlm_password: аутентификация Sam для пользователя [christopher] НЕ ПРОШЛАСЬ с ошибкой NT_STATUS_NO_SUCH_USER
check_ntlm_password: Аутентификация для пользователя [christopher] -> [christopher] ВЫПОЛНЕНА с ошибкой NT_STATUS_NO_SUCH_USER
Ошибка проверки пароля NTLMSSP для SEC1 \ christopher: NT_STATUS_NO_SUCH_USER
Нет такого пользователя christopher [SEC1] - с гостевой учетной записью
Обратите внимание, что «SEC1» - это имя сервера, а «DEFIANT» - имя клиента. Я также пробовал подключиться с именем пользователя "\"; он правильно распознал домен, но это все равно ничего не изменило.
В то время как PAM аутентифицирует пользователей по базе данных LDAP, Samba аутентифицирует пользователей по своей tdbsam
бэкэнд. Простое решение - добавить их либо smbpasswd -a <username>
или pdbedit -a -u <username>
. Сложное решение - использовать LDAP как Samba. passdb backend
.
РЕДАКТИРОВАТЬ: обратите внимание, что если вы настроите Samba для использования LDAP как passdb backend
, он будет аутентифицировать только пользователей LDAP, а не локальных.