galander
09.11.05, 15:29
Hallo Leute,
ich habe ein nicht leicht zu knackendes Problem, glaub ich, und hoffe, dass hier viellicht jemand ist, der mir mit meinen bescheidenen Samba-Kenntnissen aushelfen kann.
Ich habe einen (aktualisieren) Windows 2003 Server (inkl. Exchange 2003), der ebenso ein Active-Directory (AD) beinhaltet. Jenes AD soll als Authentifizierungsgrundlage für die (Samba-)Shares auf einer Linux-Maschine werden. Der Linux-Server ist mit (Novell) SuSE 10.0 bestückt und beinhaltet unter Anderem Samba in der Version 3.0.20-4-SUSE und das MIT-Kerberos5 in der Version 1.4.1-5 (beides von der SuSE-DVD bzw. geupdatet über YOU, Stand: 09.11.2005)
Ich habe mich auch grundsätzlich und überhaupt an die Anleitung von Samba.org bzw. von http://www.pro-linux.de/work/server/samba3-domaene.html gehalten. Das kuriose ist:
a) ich kann mit kinit ein (offensichtlich gültiges) Kerberos-Ticket erzeugen (ersichtlich mit "klist")
b) ich kann mich mit "net join -S domain -UAdministrator%pass" in der Domäne anmelden und habe dann auch im AD ein entsprechendes Computer-Konto
c) "wbinfo -u" und "wbinfo -g" liefern die Domänen-User bzw. Domänen-Gruppen
d) "getent passwd" und "getent group" liefern sowohl lokale, als auch die AD-User bzw. -Gruppen
Wenn ich dann allerdings auf eine Freigabe mit einem Windows-XP-Rechner zugreifen will, bekomme ich die Windows-typische Anmeldeaufforderung (was ja schon mal nicht sein sollte, da ich ja an dem Rechner bereits als Domänen-Nutzer angemeldet bin und die Freigabe für alle Domänen-Benutzer erreichbar sein soll) und selbst, wenn ich dann die Benutzer-Daten nochmals mit angebe, funktioniert die Anmeldung nicht. Auch der Versuch, auf die Freigabe "alles" zugreifen zu können (mit dem Administrator-Konto der Domäne)
Wo liegt denn nun das Problem?
Hier mal meine Konfigurationsdateien (auszugsweise):
###
###smb.conf
###
[global]
workgroup = DOMAIN
netbios name = devel
server string = devel
realm = DOMAIN.DMN
idmap uid = 10000-15000
idmap gid = 10000-15000
winbind separator = /
winbind use default domain = yes
security = ADS
encrypt passwords = yes
password server = ad-server@domain.dmn
client use spnego = yes
auth methods = winbind
log level = 3
template shell = /bin/bash
template homedir = /home/ads
username map = /etc/samba/smbusers
[alles]
comment = Vollzugriff
path = /
browsable = yes
read only = no
guest ok = no
valid users = DOMAIN/Administrator
create mask = 700
directory mask = 711
[vhosts]
comment = Hosts
path = /srv/www/vhosts
browsable = yes
read only = no
guest ok = no
valid users = @DOMAIN/gruppe
create mask = 755
directory mask = 755
###
### krb5.conf
###
[libdefaults]
default_realm = EXOZETBERLIN.XOZ
clockskew = 300
[realms]
DOMAIN.DMN = {
kdc = AD-SERVER@DOMAIN.DMN
admin_server = AD-SERVER@DOMAIN.DMN
default_domain = DOMAIN
}
[domain_realm]
.domain.dmn = DOMAIN.DMN
domain.dmn = DOMAIN.DMN
[logging]
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmin.log
default = FILE:/var/log/krb5lib.log
[appdefaults]
pam = {
ticket_lifetime = 1d
renew_lifetime = 1d
forwardable = true
proxiable = false
retain_after_close = false
minimum_uid = 10000
debug = false
try_first_pass = true
}
Beim Kerberos finde ich merkwürdig, dass die unter "logging" angegebenen Dateien in keinster Weise mit Daten beschrieben werden. Selbst nach einem touch bleiben die Dateien leer?! Schlecht für's Debugging. :(
Hier noch ein Auszug aus den Logs von Samba:
###
### log.smbd
###
(...)
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_sesssetup_and_X_spnego(619)
NativeOS=[Windows 2002 Service Pack 2 2600] NativeLanMan=[Windows 2002 5.1] PrimaryDomain=[]
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(480)
Got OID 1 2 840 48018 1 2 2
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(480)
Got OID 1 2 840 113554 1 2 2
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(480)
Got OID 1 3 6 1 4 1 311 2 2 10
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(483)
Got secblob of size 1189
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_kerberos(179)
Ticket name is [COMPUTER$@DOMAIN.DMN]
[2005/11/09 15:34:03, 1] smbd/sesssetup.c:reply_spnego_kerberos(263)
Username DOMAIN.DMN/COMPUTER$ is invalid on this system
[2005/11/09 15:34:03, 3] smbd/error.c:error_packet(147)
error packet at smbd/sesssetup.c(267) cmd=115 (SMBsesssetupX) NT_STATUS_LOGON_FAILURE
[2005/11/09 15:34:03, 3] smbd/process.c:process_smb(1114)
(...)
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_sesssetup_and_X_spnego(619)
NativeOS=[Windows 2002 Service Pack 2 2600] NativeLanMan=[Windows 2002 5.1] PrimaryDomain=[]
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(480)
Got OID 1 2 840 48018 1 2 2
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(480)
Got OID 1 2 840 113554 1 2 2
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(480)
Got OID 1 3 6 1 4 1 311 2 2 10
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(483)
Got secblob of size 1329
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_kerberos(179)
Ticket name is [user@DOMAIN.DMN]
[2005/11/09 15:34:03, 1] smbd/sesssetup.c:reply_spnego_kerberos(263)
Username DOMAIN.DMN/user is invalid on this system
[2005/11/09 15:34:03, 3] smbd/error.c:error_packet(147)
error packet at smbd/sesssetup.c(267) cmd=115 (SMBsesssetupX) NT_STATUS_LOGON_FAILURE
[2005/11/09 15:34:03, 3] smbd/process.c:timeout_processing(1366)
timeout_processing: End of file from client (client has disconnected).
(...)
Beim Start von smbd erscheint noch folgende Meldung von log.smbd:
(...)
[2005/11/09 15:54:22, 3] smbd/server.c:main(850)
Becoming a daemon.
[2005/11/09 15:54:22, 2] lib/tallocmsg.c:register_msg_pool_usage(56)
Registered MSG_REQ_POOL_USAGE
[2005/11/09 15:54:22, 2] lib/dmallocmsg.c:register_dmalloc_msgs(71)
Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
[2005/11/09 15:54:22, 3] libsmb/namequery.c:resolve_lmhosts(855)
resolve_lmhosts: Attempting lmhosts lookup for name ad-server.domain.dmn<0x20>
[2005/11/09 15:54:22, 3] libsmb/namequery.c:resolve_wins(752)
resolve_wins: Attempting wins lookup for name ad-server.domain.dmn<0x20>
[2005/11/09 15:54:22, 3] libsmb/namequery.c:resolve_wins(755)
resolve_wins: WINS server resolution selected and no WINS servers listed.
[2005/11/09 15:54:22, 3] libsmb/namequery.c:resolve_hosts(917)
resolve_hosts: Attempting host lookup for name ad-server.domain.dmn<0x20>
[2005/11/09 15:54:22, 3] libads/ldap.c:ads_connect(285)
Connected to LDAP server 192.168.12.243
[2005/11/09 15:54:22, 3] libads/ldap.c:ads_server_info(2514)
got ldap server name ad-server@DOMAIN.DMN, using bind path: dc=DOMAIN,dc=DMN
[2005/11/09 15:54:22, 3] libads/sasl.c:ads_sasl_spnego_bind(206)
ads_sasl_spnego_bind: got OID=1 2 840 48018 1 2 2
[2005/11/09 15:54:22, 3] libads/sasl.c:ads_sasl_spnego_bind(206)
ads_sasl_spnego_bind: got OID=1 2 840 113554 1 2 2
[2005/11/09 15:54:22, 3] libads/sasl.c:ads_sasl_spnego_bind(206)
ads_sasl_spnego_bind: got OID=1 2 840 113554 1 2 2 3
[2005/11/09 15:54:22, 3] libads/sasl.c:ads_sasl_spnego_bind(206)
ads_sasl_spnego_bind: got OID=1 3 6 1 4 1 311 2 2 10
[2005/11/09 15:54:22, 3] libads/sasl.c:ads_sasl_spnego_bind(215)
ads_sasl_spnego_bind: got server principal name =ad-server$@DOMAIN.DMN
[2005/11/09 15:54:22, 3] libsmb/clikrb5.c:ads_krb5_mk_req(384)
ads_krb5_mk_req: krb5_cc_get_principal failed (No credentials cache found) <<<<< was sagt das aus?
[2005/11/09 15:54:22, 3] libsmb/clikrb5.c:ads_cleanup_expired_creds(321)
Ticket in ccache[MEMORY:prtpub_cache] expiration Thu, 10 Nov 2005 01:54:21 GMT
[2005/11/09 15:54:22, 3] printing/printing.c:start_background_queue(1321)
start_background_queue: Starting background LPQ thread
[2005/11/09 15:54:22, 2] smbd/server.c:open_sockets_smbd(330)
waiting for a connection
Weiss Jemand vielleicht Rat? Selbst das manuelle Kompilieren/Konfigurieren einer von Samba.org geladenen aktuellen Version (3.0.20b) brachte keine Abhilfe!
Danke für jedwedige Hilfe...
Gruß
Dennis Galander
ich habe ein nicht leicht zu knackendes Problem, glaub ich, und hoffe, dass hier viellicht jemand ist, der mir mit meinen bescheidenen Samba-Kenntnissen aushelfen kann.
Ich habe einen (aktualisieren) Windows 2003 Server (inkl. Exchange 2003), der ebenso ein Active-Directory (AD) beinhaltet. Jenes AD soll als Authentifizierungsgrundlage für die (Samba-)Shares auf einer Linux-Maschine werden. Der Linux-Server ist mit (Novell) SuSE 10.0 bestückt und beinhaltet unter Anderem Samba in der Version 3.0.20-4-SUSE und das MIT-Kerberos5 in der Version 1.4.1-5 (beides von der SuSE-DVD bzw. geupdatet über YOU, Stand: 09.11.2005)
Ich habe mich auch grundsätzlich und überhaupt an die Anleitung von Samba.org bzw. von http://www.pro-linux.de/work/server/samba3-domaene.html gehalten. Das kuriose ist:
a) ich kann mit kinit ein (offensichtlich gültiges) Kerberos-Ticket erzeugen (ersichtlich mit "klist")
b) ich kann mich mit "net join -S domain -UAdministrator%pass" in der Domäne anmelden und habe dann auch im AD ein entsprechendes Computer-Konto
c) "wbinfo -u" und "wbinfo -g" liefern die Domänen-User bzw. Domänen-Gruppen
d) "getent passwd" und "getent group" liefern sowohl lokale, als auch die AD-User bzw. -Gruppen
Wenn ich dann allerdings auf eine Freigabe mit einem Windows-XP-Rechner zugreifen will, bekomme ich die Windows-typische Anmeldeaufforderung (was ja schon mal nicht sein sollte, da ich ja an dem Rechner bereits als Domänen-Nutzer angemeldet bin und die Freigabe für alle Domänen-Benutzer erreichbar sein soll) und selbst, wenn ich dann die Benutzer-Daten nochmals mit angebe, funktioniert die Anmeldung nicht. Auch der Versuch, auf die Freigabe "alles" zugreifen zu können (mit dem Administrator-Konto der Domäne)
Wo liegt denn nun das Problem?
Hier mal meine Konfigurationsdateien (auszugsweise):
###
###smb.conf
###
[global]
workgroup = DOMAIN
netbios name = devel
server string = devel
realm = DOMAIN.DMN
idmap uid = 10000-15000
idmap gid = 10000-15000
winbind separator = /
winbind use default domain = yes
security = ADS
encrypt passwords = yes
password server = ad-server@domain.dmn
client use spnego = yes
auth methods = winbind
log level = 3
template shell = /bin/bash
template homedir = /home/ads
username map = /etc/samba/smbusers
[alles]
comment = Vollzugriff
path = /
browsable = yes
read only = no
guest ok = no
valid users = DOMAIN/Administrator
create mask = 700
directory mask = 711
[vhosts]
comment = Hosts
path = /srv/www/vhosts
browsable = yes
read only = no
guest ok = no
valid users = @DOMAIN/gruppe
create mask = 755
directory mask = 755
###
### krb5.conf
###
[libdefaults]
default_realm = EXOZETBERLIN.XOZ
clockskew = 300
[realms]
DOMAIN.DMN = {
kdc = AD-SERVER@DOMAIN.DMN
admin_server = AD-SERVER@DOMAIN.DMN
default_domain = DOMAIN
}
[domain_realm]
.domain.dmn = DOMAIN.DMN
domain.dmn = DOMAIN.DMN
[logging]
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmin.log
default = FILE:/var/log/krb5lib.log
[appdefaults]
pam = {
ticket_lifetime = 1d
renew_lifetime = 1d
forwardable = true
proxiable = false
retain_after_close = false
minimum_uid = 10000
debug = false
try_first_pass = true
}
Beim Kerberos finde ich merkwürdig, dass die unter "logging" angegebenen Dateien in keinster Weise mit Daten beschrieben werden. Selbst nach einem touch bleiben die Dateien leer?! Schlecht für's Debugging. :(
Hier noch ein Auszug aus den Logs von Samba:
###
### log.smbd
###
(...)
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_sesssetup_and_X_spnego(619)
NativeOS=[Windows 2002 Service Pack 2 2600] NativeLanMan=[Windows 2002 5.1] PrimaryDomain=[]
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(480)
Got OID 1 2 840 48018 1 2 2
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(480)
Got OID 1 2 840 113554 1 2 2
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(480)
Got OID 1 3 6 1 4 1 311 2 2 10
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(483)
Got secblob of size 1189
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_kerberos(179)
Ticket name is [COMPUTER$@DOMAIN.DMN]
[2005/11/09 15:34:03, 1] smbd/sesssetup.c:reply_spnego_kerberos(263)
Username DOMAIN.DMN/COMPUTER$ is invalid on this system
[2005/11/09 15:34:03, 3] smbd/error.c:error_packet(147)
error packet at smbd/sesssetup.c(267) cmd=115 (SMBsesssetupX) NT_STATUS_LOGON_FAILURE
[2005/11/09 15:34:03, 3] smbd/process.c:process_smb(1114)
(...)
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_sesssetup_and_X_spnego(619)
NativeOS=[Windows 2002 Service Pack 2 2600] NativeLanMan=[Windows 2002 5.1] PrimaryDomain=[]
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(480)
Got OID 1 2 840 48018 1 2 2
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(480)
Got OID 1 2 840 113554 1 2 2
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(480)
Got OID 1 3 6 1 4 1 311 2 2 10
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_negotiate(483)
Got secblob of size 1329
[2005/11/09 15:34:03, 3] smbd/sesssetup.c:reply_spnego_kerberos(179)
Ticket name is [user@DOMAIN.DMN]
[2005/11/09 15:34:03, 1] smbd/sesssetup.c:reply_spnego_kerberos(263)
Username DOMAIN.DMN/user is invalid on this system
[2005/11/09 15:34:03, 3] smbd/error.c:error_packet(147)
error packet at smbd/sesssetup.c(267) cmd=115 (SMBsesssetupX) NT_STATUS_LOGON_FAILURE
[2005/11/09 15:34:03, 3] smbd/process.c:timeout_processing(1366)
timeout_processing: End of file from client (client has disconnected).
(...)
Beim Start von smbd erscheint noch folgende Meldung von log.smbd:
(...)
[2005/11/09 15:54:22, 3] smbd/server.c:main(850)
Becoming a daemon.
[2005/11/09 15:54:22, 2] lib/tallocmsg.c:register_msg_pool_usage(56)
Registered MSG_REQ_POOL_USAGE
[2005/11/09 15:54:22, 2] lib/dmallocmsg.c:register_dmalloc_msgs(71)
Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
[2005/11/09 15:54:22, 3] libsmb/namequery.c:resolve_lmhosts(855)
resolve_lmhosts: Attempting lmhosts lookup for name ad-server.domain.dmn<0x20>
[2005/11/09 15:54:22, 3] libsmb/namequery.c:resolve_wins(752)
resolve_wins: Attempting wins lookup for name ad-server.domain.dmn<0x20>
[2005/11/09 15:54:22, 3] libsmb/namequery.c:resolve_wins(755)
resolve_wins: WINS server resolution selected and no WINS servers listed.
[2005/11/09 15:54:22, 3] libsmb/namequery.c:resolve_hosts(917)
resolve_hosts: Attempting host lookup for name ad-server.domain.dmn<0x20>
[2005/11/09 15:54:22, 3] libads/ldap.c:ads_connect(285)
Connected to LDAP server 192.168.12.243
[2005/11/09 15:54:22, 3] libads/ldap.c:ads_server_info(2514)
got ldap server name ad-server@DOMAIN.DMN, using bind path: dc=DOMAIN,dc=DMN
[2005/11/09 15:54:22, 3] libads/sasl.c:ads_sasl_spnego_bind(206)
ads_sasl_spnego_bind: got OID=1 2 840 48018 1 2 2
[2005/11/09 15:54:22, 3] libads/sasl.c:ads_sasl_spnego_bind(206)
ads_sasl_spnego_bind: got OID=1 2 840 113554 1 2 2
[2005/11/09 15:54:22, 3] libads/sasl.c:ads_sasl_spnego_bind(206)
ads_sasl_spnego_bind: got OID=1 2 840 113554 1 2 2 3
[2005/11/09 15:54:22, 3] libads/sasl.c:ads_sasl_spnego_bind(206)
ads_sasl_spnego_bind: got OID=1 3 6 1 4 1 311 2 2 10
[2005/11/09 15:54:22, 3] libads/sasl.c:ads_sasl_spnego_bind(215)
ads_sasl_spnego_bind: got server principal name =ad-server$@DOMAIN.DMN
[2005/11/09 15:54:22, 3] libsmb/clikrb5.c:ads_krb5_mk_req(384)
ads_krb5_mk_req: krb5_cc_get_principal failed (No credentials cache found) <<<<< was sagt das aus?
[2005/11/09 15:54:22, 3] libsmb/clikrb5.c:ads_cleanup_expired_creds(321)
Ticket in ccache[MEMORY:prtpub_cache] expiration Thu, 10 Nov 2005 01:54:21 GMT
[2005/11/09 15:54:22, 3] printing/printing.c:start_background_queue(1321)
start_background_queue: Starting background LPQ thread
[2005/11/09 15:54:22, 2] smbd/server.c:open_sockets_smbd(330)
waiting for a connection
Weiss Jemand vielleicht Rat? Selbst das manuelle Kompilieren/Konfigurieren einer von Samba.org geladenen aktuellen Version (3.0.20b) brachte keine Abhilfe!
Danke für jedwedige Hilfe...
Gruß
Dennis Galander