[Samba] Failures to renegotiate machine password & domain participation check fails

Sean McGrath smcgrat at tchpc.tcd.ie
Thu Apr 26 09:13:29 UTC 2018


Hello everyone,

Can I ask for some assistance please. Apologies if there is an easy solution to
this tail of wow that I haven't been able to find online.

We've been having persistent problems with a Scientific Linux release 7.4
machine that is joined to an Active Directory domain. Ever 30 days or so it
trust relationship between the server and the domain would fail, apparently
because the machine password was not renewed. It worked for several months then
at the end of last year started to have this issue very 30 days or so.

I had originally configured the server using SSSD as the identity provider but
switched to winbind after the series of failures. Winbind has failed to update
its machine password successfully now though. 

Samba version:
$ smbd --version
Version 4.6.2

Installed packages, (most recent from the repositories):
$ rpm -qa | grep samba
samba-client-libs-4.6.2-12.el7_4.x86_64
samba-common-tools-4.6.2-12.el7_4.x86_64
samba-4.6.2-12.el7_4.x86_64
samba-common-libs-4.6.2-12.el7_4.x86_64
samba-winbind-clients-4.6.2-12.el7_4.x86_64
samba-libs-4.6.2-12.el7_4.x86_64
samba-winbind-4.6.2-12.el7_4.x86_64
samba-client-4.6.2-12.el7_4.x86_64
samba-winbind-modules-4.6.2-12.el7_4.x86_64
samba-common-4.6.2-12.el7_4.noarch

Some of the details of the most recent failure are as follows.

Checking the bind to the domain gave this message:

$ net ads testjoin
kerberos_kinit_password DEPARTMENT-S01$@FQ.DN failed: Preauthentication failed
kerberos_kinit_password DEPARTMENT-S01$@FQ.DN failed: Preauthentication failed
Join to domain is not valid: Logon failure

The samba logs where showing 'domain_client_validate: Domain password server not
available' errors.

To restore the service I did the following:

$ systemctl stop smb
$ realm leave domain.fqdn
$ realm -v join --client-software=winbind --user=username at domain.fqdn
domain.fqdn
$ systemctl start smb

I'll attach the current sanitised smb.conf here. (I know there are at least a
few problems with it I need to correct at some stage).

SELINUX had been running up until the most recent outage but I have now disabled
it fully in the unlikely event that that is causing this issue.

The server currently seems to be authenticating fine against the domain but I am
concerned that it fail to re-negotiate it's trust relationship again.

Can anyone point out the errors I have made in the configuration and setup
please. If you need more information please don't hesitate to ask.

Additionally, now when I do a 'net ads testjoin' I get prompted for a password:

$ net ads testjoin
Enter DEPARTMENT-S01$@FQ.DN's password:
$ echo $?
130

A sanitised output from 'net ads testjoin -d 9' is attached.

The following come back OK though.

$ wbinfo --online-status
$ wbinfo --check-secret
$ net ads info

'net ads testjoin' had been working fine for about 24 hours after the machine
was most recently re-joined to the domain. Can anyone shed any light on what I
have done wrong in that instance please?

Many thanks for any help you can offer.

Regards

Sean

-- 
Sean McGrath M.Sc

Systems Administrator
Trinity Centre for High Performance and Research Computing
Trinity College Dublin

sean.mcgrath at tchpc.tcd.ie

https://www.tcd.ie/
https://www.tchpc.tcd.ie/

-------------- next part --------------
[global]
# following are the default winbind settings
kerberos method = system keytab
template homedir = /home/%U@%D
workgroup = DOMAIN.FQDN
template shell = /bin/bash
security = ads 
realm = DOMAIN.FQDN
idmap backend = tdb
idmap gid = 10000-2000000
idmap uid = 10000-2000000
#idmap uid = 16777216-33554431
#idmap gid = 16777216-33554431
winbind use default domain = no
winbind refresh tickets = yes
winbind offline logon = yes
winbind enum groups = no
winbind enum users = no
log level = 3 auth:10
log file = /var/log/samba/log.%m

[Releases]
	comment	= DEPARTMENT Releases
	path = /home/Releases
	browseable = yes
	writable = yes
	create mode = 0775
	valid users =@"department-staff at domain.fqdn",@"department-staff-restricted at domain.fqdn"
	write list =@"department-staff at domain.fqdn"
	nt acl support = yes
	inherit permissions = yes

[Department]
	comment = DEPARTMENT share
	path = /home/Department
	browseable = yes
	writable = yes
	valid users =@"department-staff at domain.fqdn"
	create mode = 0770
	force directory mode = 0770
	nt acl support = yes

[Finance]
	comment = DEPARTMENT share
	path = /home/Finance
	browseable = yes
	writable = yes
	valid users =@"department-staff at domain.fqdn"
	create mode = 0770
	force directory mode = 0770
	nt acl support = yes

[Staff]
	comment = DEPARTMENT staff folders
	path = /home/DOMAIN/%U
	browseable = yes 
        writable = yes
	valid users =@"department-staff at domain.fqdn",@"department-staff-restricted at domain.fqdn","doylep6 at domain.fqdn"
	root preexec = /var/lib/samba/scripts/mkhomedir.sh %U
	nt acl support = yes

[department-secure]
	comment = DEPARTMENT secure share
	path = /home/department-secure
	browseable = yes
	writable = yes
	valid users =@"department-staff-secure at domain.fqdn"
	create mode = 0770
	directory mask = 0770
	force directory mode = 0770
	nt acl support = yes

-------------- next part --------------
INFO: Current debug levels:
  all: 9
  tdb: 9
  printdrivers: 9
  lanman: 9
  smb: 9
  rpc_parse: 9
  rpc_srv: 9
  rpc_cli: 9
  passdb: 9
  sam: 9
  auth: 9
  winbind: 9
  vfs: 9
  idmap: 9
  quota: 9
  acls: 9
  locking: 9
  msdfs: 9
  dmapi: 9
  registry: 9
  scavenger: 9
  dns: 9
  ldb: 9
  tevent: 9
lp_load_ex: refreshing parameters
Initialising global parameters
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
INFO: Current debug levels:
  all: 9
  tdb: 9
  printdrivers: 9
  lanman: 9
  smb: 9
  rpc_parse: 9
  rpc_srv: 9
  rpc_cli: 9
  passdb: 9
  sam: 9
  auth: 9
  winbind: 9
  vfs: 9
  idmap: 9
  quota: 9
  acls: 9
  locking: 9
  msdfs: 9
  dmapi: 9
  registry: 9
  scavenger: 9
  dns: 9
  ldb: 9
  tevent: 9
Processing section "[global]"
doing parameter kerberos method = system keytab
doing parameter template homedir = /home/%U@%D
doing parameter workgroup = domain.fqdn
doing parameter template shell = /bin/bash
doing parameter security = ads
doing parameter realm = domain.fqdn
doing parameter idmap backend = tdb
WARNING: The "idmap backend" option is deprecated
doing parameter idmap gid = 10000-2000000
WARNING: The "idmap gid" option is deprecated
doing parameter idmap uid = 10000-2000000
WARNING: The "idmap uid" option is deprecated
doing parameter winbind use default domain = no
doing parameter winbind refresh tickets = yes
doing parameter winbind offline logon = yes
doing parameter winbind enum groups = no
doing parameter winbind enum users = no
doing parameter log level = 3 auth:10
doing parameter log file = /var/log/samba/log.%m
pm_process() returned Yes
lp_servicenumber: couldn't find homes
Registering messaging pointer for type 2 - private_data=(nil)
Registering messaging pointer for type 9 - private_data=(nil)
Registered MSG_REQ_POOL_USAGE
Registering messaging pointer for type 11 - private_data=(nil)
Registering messaging pointer for type 12 - private_data=(nil)
Registered MSG_REQ_DMALLOC_MARK and LOG_CHANGED
Registering messaging pointer for type 1 - private_data=(nil)
Registering messaging pointer for type 5 - private_data=(nil)
lp_load_ex: refreshing parameters
Freeing parametrics:
Initialising global parameters
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
INFO: Current debug levels:
  all: 9
  tdb: 9
  printdrivers: 9
  lanman: 9
  smb: 9
  rpc_parse: 9
  rpc_srv: 9
  rpc_cli: 9
  passdb: 9
  sam: 9
  auth: 9
  winbind: 9
  vfs: 9
  idmap: 9
  quota: 9
  acls: 9
  locking: 9
  msdfs: 9
  dmapi: 9
  registry: 9
  scavenger: 9
  dns: 9
  ldb: 9
  tevent: 9
Processing section "[global]"
doing parameter kerberos method = system keytab
doing parameter template homedir = /home/%U@%D
doing parameter workgroup = domain.fqdn
doing parameter template shell = /bin/bash
doing parameter security = ads
doing parameter realm = domain.fqdn
doing parameter idmap backend = tdb
WARNING: The "idmap backend" option is deprecated
doing parameter idmap gid = 10000-2000000
WARNING: The "idmap gid" option is deprecated
doing parameter idmap uid = 10000-2000000
WARNING: The "idmap uid" option is deprecated
doing parameter winbind use default domain = no
doing parameter winbind refresh tickets = yes
doing parameter winbind offline logon = yes
doing parameter winbind enum groups = no
doing parameter winbind enum users = no
doing parameter log level = 3 auth:10
doing parameter log file = /var/log/samba/log.%m
pm_process() returned Yes
lp_servicenumber: couldn't find homes
Netbios name list:-
my_netbios_names[0]="department-S01"
added interface em1 ip=2001:770:10:500:1298:36ff:feae:b0b7 bcast= netmask=ffff:ffff:ffff:ffff::
added interface em1 ip=192.168.112.67 bcast=192.168.115.255 netmask=255.255.252.0
Opening cache file at /var/lib/samba/gencache.tdb
Opening cache file at /var/lib/samba/lock/gencache_notrans.tdb
sitename_fetch: Returning sitename for realm 'domain.fqdn': "CAMPUS"
ads_dc_name: domain=domain.fqdn
sitename_fetch: Returning sitename for realm 'domain.fqdn': "CAMPUS"
resolve_and_ping_dns: (cldap) looking for realm 'domain.fqdn'
get_sorted_dc_list: attempting lookup for name domain.fqdn (sitename CAMPUS)
saf_fetch: Returning "windc04.domain.fqdn" for "domain.fqdn" domain
get_dc_list: preferred server list: "windc04.domain.fqdn, *"
name domain.fqdn#1C found.
Adding 3 DC's from auto lookup
sitename_fetch: Returning sitename for realm 'domain.fqdn': "CAMPUS"
name windc04.domain.fqdn#20 found.
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.44
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.40
get_dc_list: returning 3 ip addresses in an ordered list
get_dc_list: 192.168.16.41:389 192.168.16.44:389 192.168.16.40:389 
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
ads_try_connect: sending CLDAP request to 192.168.16.41 (realm: domain.fqdn)
Successfully contacted LDAP server 192.168.16.41
sitename_fetch: Returning sitename for realm 'domain.fqdn': "CAMPUS"
saf_fetch: Returning "windc04.domain.fqdn" for "domain.fqdn" domain
get_dc_list: preferred server list: "windc04.domain.fqdn, *"
resolve_ads: Attempting to resolve KDCs for domain.fqdn using DNS
ads_dns_lookup_srv: 3 records returned in the answer section.
Adding 3 DC's from auto lookup
sitename_fetch: Returning sitename for realm 'domain.fqdn': "CAMPUS"
name windc04.domain.fqdn#20 found.
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.44
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.40
get_dc_list: returning 3 ip addresses in an ordered list
get_dc_list: 192.168.16.41:88 192.168.16.44:88 192.168.16.40:88 
saf_fetch: Returning "windc04.domain.fqdn" for "domain.fqdn" domain
get_dc_list: preferred server list: "windc04.domain.fqdn, *"
resolve_ads: Attempting to resolve KDCs for domain.fqdn using DNS
ads_dns_lookup_srv: 8 records returned in the answer section.
Adding 8 DC's from auto lookup
sitename_fetch: Returning sitename for realm 'domain.fqdn': "CAMPUS"
name windc04.domain.fqdn#20 found.
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.251.24
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.40
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.44
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.251.13
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.251.14
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.177.117
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.251.47
get_dc_list: returning 8 ip addresses in an ordered list
get_dc_list: 192.168.16.41:88 192.168.251.24:88 192.168.16.40:88 192.168.16.44:88 192.168.251.13:88 192.168.251.14:88 192.168.177.117:88 192.168.251.47:88 
create_local_private_krb5_conf_for_domain: wrote file /var/lib/samba/lock/smb_krb5/krb5.conf.domain.fqdn with realm domain.fqdn KDC list = 		kdc = 192.168.16.41
		kdc = 192.168.16.44
		kdc = 192.168.16.40
		kdc = 192.168.251.24

ads_dc_name: using server='WINDC04.domain.fqdn' IP=192.168.16.41
ads_find_dc: (ldap) looking for realm 'domain.fqdn' and falling back to domain 'domain.fqdn'
sitename_fetch: Returning sitename for realm 'domain.fqdn': "CAMPUS"
ads_dc_name: domain=domain.fqdn
sitename_fetch: Returning sitename for realm 'domain.fqdn': "CAMPUS"
resolve_and_ping_dns: (cldap) looking for realm 'domain.fqdn'
get_sorted_dc_list: attempting lookup for name domain.fqdn (sitename CAMPUS)
saf_fetch: Returning "windc04.domain.fqdn" for "domain.fqdn" domain
get_dc_list: preferred server list: "windc04.domain.fqdn, *"
name domain.fqdn#1C found.
Adding 3 DC's from auto lookup
sitename_fetch: Returning sitename for realm 'domain.fqdn': "CAMPUS"
name windc04.domain.fqdn#20 found.
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.44
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.40
get_dc_list: returning 3 ip addresses in an ordered list
get_dc_list: 192.168.16.41:389 192.168.16.44:389 192.168.16.40:389 
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
ads_try_connect: sending CLDAP request to 192.168.16.41 (realm: domain.fqdn)
Successfully contacted LDAP server 192.168.16.41
sitename_fetch: Returning sitename for realm 'domain.fqdn': "CAMPUS"
saf_fetch: Returning "windc04.domain.fqdn" for "domain.fqdn" domain
get_dc_list: preferred server list: "windc04.domain.fqdn, *"
resolve_ads: Attempting to resolve KDCs for domain.fqdn using DNS
ads_dns_lookup_srv: 3 records returned in the answer section.
Adding 3 DC's from auto lookup
sitename_fetch: Returning sitename for realm 'domain.fqdn': "CAMPUS"
name windc04.domain.fqdn#20 found.
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.40
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.44
get_dc_list: returning 3 ip addresses in an ordered list
get_dc_list: 192.168.16.41:88 192.168.16.40:88 192.168.16.44:88 
saf_fetch: Returning "windc04.domain.fqdn" for "domain.fqdn" domain
get_dc_list: preferred server list: "windc04.domain.fqdn, *"
resolve_ads: Attempting to resolve KDCs for domain.fqdn using DNS
ads_dns_lookup_srv: 8 records returned in the answer section.
Adding 8 DC's from auto lookup
sitename_fetch: Returning sitename for realm 'domain.fqdn': "CAMPUS"
name windc04.domain.fqdn#20 found.
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.41
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.40
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.251.14
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.16.44
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.177.117
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.251.24
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.251.13
check_negative_conn_cache returning result 0 for domain domain.fqdn server 192.168.251.47
get_dc_list: returning 8 ip addresses in an ordered list
get_dc_list: 192.168.16.41:88 192.168.16.40:88 192.168.251.14:88 192.168.16.44:88 192.168.177.117:88 192.168.251.24:88 192.168.251.13:88 192.168.251.47:88 
create_local_private_krb5_conf_for_domain: wrote file /var/lib/samba/lock/smb_krb5/krb5.conf.domain.fqdn with realm domain.fqdn KDC list = 		kdc = 192.168.16.41
		kdc = 192.168.16.40
		kdc = 192.168.16.44
		kdc = 192.168.251.14

ads_dc_name: using server='WINDC04.domain.fqdn' IP=192.168.16.41
ads_try_connect: sending CLDAP request to 192.168.16.41 (realm: domain.fqdn)
Successfully contacted LDAP server 192.168.16.41
Connected to LDAP server windc04.domain.fqdn
KDC time offset is 0 seconds
Found SASL mechanism GSS-SPNEGO
ads_sasl_spnego_bind: got OID=1.3.6.1.4.1.311.2.2.30
ads_sasl_spnego_bind: got OID=1.2.840.48018.1.2.2
ads_sasl_spnego_bind: got OID=1.2.840.113554.1.2.2
ads_sasl_spnego_bind: got OID=1.2.840.113554.1.2.2.3
ads_sasl_spnego_bind: got OID=1.3.6.1.4.1.311.2.2.10
GENSEC backend 'gssapi_spnego' registered
GENSEC backend 'gssapi_krb5' registered
GENSEC backend 'gssapi_krb5_sasl' registered
GENSEC backend 'spnego' registered
GENSEC backend 'schannel' registered
GENSEC backend 'naclrpc_as_system' registered
GENSEC backend 'sasl-EXTERNAL' registered
GENSEC backend 'ntlmssp' registered
GENSEC backend 'ntlmssp_resume_ccache' registered
GENSEC backend 'http_basic' registered
GENSEC backend 'http_ntlm' registered
Starting GENSEC mechanism spnego
Starting GENSEC submechanism gse_krb5
smb_gss_krb5_import_cred ccache[MEMORY:net_ads] failed with [Unspecified GSS failure.  Minor code may provide more information: No credentials cache found] -the caller may retry after a kinit.
Failed to start GENSEC client mech gse_krb5: NT_STATUS_INTERNAL_ERROR
ads_sasl_spnego_gensec_bind(KRB5) failed for ldap/windc04.domain.fqdn with user[department-S01$] realm=[domain.fqdn]: Cannot read password


More information about the samba mailing list