Пытаюсь настроить Samba (apt-get install samba
) для аутентификации пользователей с помощью сервера RADIUS, и я не могу найти ничего полезного. Является ли это возможным ?
Я подумал, что могу настроить Samba на использование аутентификации PAM, а затем настроить PAM для использования сервера RADIUS. Но я нашел на Файловый сервер Samba + PAM + Berkeley DB или Samba + PAM
Samba не может использовать PAM, потому что протокол SMB специфичен для (набора) несовместимых хэшей, которые нельзя использовать с PAM (для чего требуется пароль в виде открытого текста или определенные хешированные версии пароля).
ОС: Debian 7.8 x64
РАДИУС: FreeRadius 2.1.12
Пакет самба: 2: 4.1.17 + dfsg-2
Текст, который вы нашли, верен, SMB требует ntlm auth, который несовместим с PAM.
Проблема с PAM заключается в том, что он требует, чтобы пользователь (или агент, действующий от имени пользователя, как сервер самбы) отправил пароль пользователя в виде обычного текста, который сервер Samba никогда не знает, потому что клиент SMB никогда его не отправляет.
Вместо этого клиент SMB отправляет MD4-хэш 16-битного маленького байтового юникода пароля пользователя, хешированного с помощью запроса от сервера Samba.
В реальных настройках Samba обычно аутентифицируется по AD, а RADIUS также аутентифицируется по AD (через winbindd), и именно так вы получаете синхронизированные учетные данные.
Samba также выполняет аутентификацию по обычному протоколу LDAP, поэтому вы можете использовать его в качестве общего хранилища учетных данных.