Проблемы с входом в Netatalk с Active Directory
У меня проблема с Netatalk и Active Directory. Я не могу войти с активным пользователем каталога. У меня уже есть samba с работающим рекламным подключением, и я получаю с помощью wbinfo -u и wbinfo -g все данные из AD. Getent passwd показывает мне всех пользователей, но я не получаю группы объявлений с группой getent.
Ну, я не знаю, будет ли это проблемой, потому что я хочу использовать только пользователей вместо групп.
Я протестировал саму Samba, и я могу подключить общий ресурс Samba с именем пользователя в активном каталоге.
На данный момент, похоже, работает "частично". Если я пытаюсь подключить том afp с известным пользователем активного каталога, я вижу в журнале netatalk следующие записи. В равной степени я ввожу правильный или неправильный пароль:
Aug 10 08:48:37.908651 afpd[34123] {afp_dsi.c:624} (debug:AFPDaemon): <== Start AFP command: AFP_LOGINCONT
Aug 10 08:48:37.919318 afpd[34123] {uams_dhx2_pam.c:214} (info:UAMS): PAM DHX2: PAM Success
Aug 10 08:48:40.121785 afpd[34123] {uams_dhx2_pam.c:666} (info:UAMS): DHX2: PAM_Error: Authentication failure
Aug 10 08:48:40.121848 afpd[34123] {dsi_cmdreply.c:24} (debug:DSI): dsi_cmdreply(DSI ID: 4, len: 0): START
Aug 10 08:48:40.121883 afpd[34123] {dsi_stream.c:530} (maxdebug:DSI): dsi_stream_send(0 bytes): START
Если я ввожу недопустимого пользователя, я получаю другую ошибку:
Aug 10 08:55:16.416783 afpd[34205] {afp_dsi.c:624} (debug:AFPDaemon): <== Start AFP command: AFP_LOGIN_EXT
Aug 10 08:55:18.830640 afpd[34205] {uams_dhx2_pam.c:324} (info:UAMS): DHX2: unknown username
Aug 10 08:55:18.830711 afpd[34205] {dsi_cmdreply.c:24} (debug:DSI): dsi_cmdreply(DSI ID: 2, len: 0): START
Aug 10 08:55:18.830732 afpd[34205] {dsi_stream.c:530} (maxdebug:DSI): dsi_stream_send(0 bytes): START
Aug 10 08:55:18.830745 afpd[34205] {dsi_stream.c:538} (maxdebug:DSI): dsi_stream_send(16 bytes): DSI header, no data
Aug 10 08:55:18.830762 afpd[34205] {dsi_stream.c:281} (maxdebug:DSI): dsi_stream_write(send: 16 bytes): START
Я также смотрю логи от samba / winbind, и кажется, что есть только запросы, если пользователь не известен. Если я наберу действительного пользователя, журналы в Samba и Winbind все еще довольно.
Ну, мне также интересно, что модуль Kerberos uam_gss.so, кажется, также не работает:
Aug 10 09:34:09.480536 afpd[45001] {auth.c:1011} (debug:AFPDaemon):
auth_load: /usr/local/lib/netatalk//, uam_gss.so,uams_dhx.so,uams_dhx2.so
Aug 10 09:34:09.480562 afpd[45001] {auth.c:1025} (debug:AFPDaemon): uam: loading (/usr/local/lib/netatalk//uam_gss.so)
Aug 10 09:34:09.480577 afpd[45001] {auth.c:1037} (info:AFPDaemon): uam: uam not found (status=-1)
Aug 10 09:34:09.480585 afpd[45001] {auth.c:1025} (debug:AFPDaemon): uam: loading (/usr/local/lib/netatalk//uams_dhx.so)
Aug 10 09:34:09.518932 afpd[45001] {auth.c:1032} (debug:AFPDaemon): uam: uams_dhx.so loaded
Aug 10 09:34:09.518975 afpd[45001] {auth.c:1025} (debug:AFPDaemon): uam: loading (/usr/local/lib/netatalk//uams_dhx2.so)
Aug 10 09:34:09.519205 afpd[45001] {uams_dhx2_pam.c:934} (debug:UAMS): DHX2: generating mersenne primes
Aug 10 09:34:09.712308 afpd[45001] {auth.c:1032} (debug:AFPDaemon): uam: uams_dhx2.so loaded
Я провожу дни в поисках, но решения не видно. Я уже нашел различные как, но это не сработало для меня. Например, из официального сайта netatalk: http://netatalk.sourceforge.net/wiki/index.php/How-To_authenticate_to_an_NT_domain
Может быть, он может работать с Kerberos, но я не получил модуль работает...
Вот некоторые справочные сведения:
Я использую Ubuntu 16.04 на DELL R420. Active Directory на основе среды Windows Server 2012 R2. Я использую Samba версии 4.3.9-Ubuntu и Winbind 2:4.3.9+dfsg-0ubuntu0.16.04.2.
Я собрал уже последнюю версию Netatalk 3.1.9 со всеми функциями. Я использовал следующие строки для компиляции:
./configure --with-init-style=debian-systemd \
--with-cracklib --enable-pgp-uam --enable-krbV-uam \
--with-pam-confdir=/etc/pam.d \
--with-dbus-sysconf-dir=/etc/dbus-1/system.d \
--with-tracker-pkgconfig-version=1.0
Резюме компиляции:
CPPFLAGS = -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)
CFLAGS = -D_U_="__attribute__((unused))" -g -O2
LIBS = -lcrack
PTHREADS:
LIBS =
CFLAGS = -pthread
TRACKER:
LIBS = -ltracker-sparql-1.0 -lgio-2.0 -lgobject-2.0 -Wl,--export-dynamic -lgmodule-2.0 -pthread -lglib-2.0
CFLAGS = -pthread -I/usr/include/tracker-1.0 -I/usr/include/tracker-1.0/libtracker-sparql -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
SSL:
LIBS = -L/usr/lib64 -lcrypto
CFLAGS = -I/usr/include/openssl
LIBGCRYPT:
LIBS = -lgcrypt
CFLAGS =
PAM:
LIBS = -lpam
CFLAGS =
WRAP:
LIBS = -lwrap
CFLAGS =
BDB:
LIBS = -L/usr/lib64 -ldb-5.3
CFLAGS =
GSSAPI:
LIBS = -L/usr/lib/x86_64-linux-gnu/mit-krb5 -Wl,-Bsymbolic-functions -Wl,-z,relro -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err
CFLAGS = -isystem /usr/include/mit-krb5
ZEROCONF:
LIBS = -lavahi-common -lavahi-client
CFLAGS = -D_REENTRANT
LDAP:
LIBS = -lldap
CFLAGS =
LIBEVENT:
bundled
TDB:
bundled
MySQL:
LIBS = -L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt -ldl
CFLAGS = -I/usr/include/mysql -fabi-version=2 -fno-omit-frame-pointer
Configure summary:
INIT STYLE:
debian-systemd
AFP:
Extended Attributes: ad | sys
ACL support: yes
Spotlight: yes
CNID:
backends: dbd last tdb mysql
UAMS:
DHX (PAM SHADOW)
DHX2 (PAM SHADOW)
RANDNUM (afppasswd)
Kerberos V
PGP
clrtxt (PAM SHADOW)
guest
Options:
Zeroconf support: yes
tcp wrapper support: yes
quota support: yes
valid shell check: yes
cracklib support: yes
ACL support: auto
Kerberos support: yes
LDAP support: yes
AFP stats via dbus: yes
dtrace probes: yes
Paths:
Netatalk lockfile: /var/lock/netatalk
init directory: /lib/systemd/system
dbus system directory: /etc/dbus-1/system.d
dbus daemon path: /bin/dbus-daemon
tracker prefix: /usr
tracker install prefix: /usr
tracker manager: /usr/bin/tracker daemon
pam config directory: /etc/pam.d
Documentation:
Docbook: no
Вот моя конфигурация netatalk:
[Global]
k5 keytab = /etc/krb5.keytab
uam list = uam_gss.so,uams_dhx.so,uams_dhx2.so
nt domain = AD.DOMAIN.LOCAL
ad domain = AD.DOMAIN.LOCAL
map acls = rights
ldap server = ad.domain.local
ldap auth method = simple
ldap auth dn = CN=ldapinfo,OU=IT,OU=Services,OU=Intern,DC=ad,DC=domain,DC=local
ldap auth pw = ************
ldap userbase = OU=Staff,OU=company,DC=ad,DC=domain,DC=local
ldap userscope = sub
ldap groupbase = OU=Groups,OU=company,DC=ad,DC=domain,DC=local
ldap groupscope = sub
ldap uuid attr = objectGUID
ldap name attr = sAMAccountName
ldap group attr = cn
; Global server settings
hostname = TimeMachine.domain.local
vol preset = default_for_all
log file = /var/log/netatalk.log
log level = default:maxdebug
save password = no
afpstats = yes
[default_for_all]
file perm = 0664
directory perm = 0774
cnid scheme = dbd
; Uncomment the following line to restrict access to specific users
; valid users = someuser
# [Homes]
# basedir regex = /storage/timemachine
# time machine = yes
# vol size limit = 102400
#
# Config for time machine users
include = /usr/local/etc/afp_users.conf
afp_users.conf
[test1]
name = Timemachine
time machine = yes
vol size limit = 102400
path = /storage/timemachine/test1
valid users = test1
/etc/pam.d/netatalk
#%PAM-1.0
# Following lines dont work
#auth required pam_winbind.so
#account required pam_winbind.so
#session required pam_unix.so
auth include common-auth
account include common-account
password include common-password
session include common-session
Самба Конфиг:
#======================= Global Settings =======================
[global]
netbios name = CLIENT1
workgroup = DOMAIN
security = ADS
realm = AD.DOMAIN.LOCAL
dedicated keytab file = /etc/krb5.keytab
kerberos method = secrets and keytab
idmap config *:backend = tdb
idmap config *:range = 2000-50000
idmap config SAMDOM:backend = ad
idmap config SAMDOM:range = 50001 - 99999
idmap config SAMDOM:schema_mode = rfc2307
winbind nss info = rfc2307
#passdb backend = pam
winbind trusted domains only = no
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
winbind nested groups = yes
winbind refresh tickets = Yes
obey pam restrictions = no
template homedir = /storage/timemachine/%U
template shell = /bin/bash
#encrypt passwords = no
hide dot files = no
#### Debugging/Accounting ####
log file = /var/log/samba/log.%m
max log size = 1000
log level = 10
# ####### Authentication #######
# server role = standalone server
# passdb backend = tdbsam
# obey pam restrictions = yes
# unix password sync = yes
#
# passwd program = /usr/bin/passwd %u
# passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
#
# pam password change = yes
# map to guest = bad user
#
# ########## Domains ###########
[TEST]
path = /storage/test
valid users = testuser
read only = no
create mask = 0666
directory mask = 0777
acl map full control = True
force user = nobody
force group = nogroup
guest ok = yes
Я был бы счастлив, если у кого-то есть идея. Спасибо