[Samba] Samba after upgrade+migration, Win7 workstation trusts lost

Dave Beach drbeach4 at gmail.com
Mon Feb 29 00:04:38 UTC 2016


Hello list - I am not sure my messages are getting out to the list, so I
will attempt in this message to summarize the problems I am having that have
been the subject of a few other posts.

 

I recently upgraded from a command-line Slackware installation to Debian
Jessie. As part of that exercise, Samba was upgraded from 3.5.x to 4.1.17.
My upgrade method was probably not idea: I recursively copied all files from
the system root to an external USB hard disk, installed new hard disks, did
the Debian install. I say this to emphasize the point that I have all the
files (and, indeed, the hard disk) from the previous installation available
to me. I started with the new sample Samba config file, and copied what
seemed to be relevant items from my previous config file. I copied
secrets.tdb from the previous implementation to the appropriate new
directory.

 

I use ldap as my password backend, and have finally managed to get that
working.

 

Testparm runs cleanly, and Samba starts.

 

I am having two problems:

 

First, trusts have been lost with the Win7 workstations in the domain. I
would like to recover those trusts with no effect to the user accounts on
the workstations. All workstations use local profiles. I can log on to the
workstations using cached credentials, but any attempt to log on to them
with Samba running on the server fails. So, I stop Samba on the server, log
on to the workstations, restart Samba on the server. Doing this, I can map
drives on the workstations to shares on the server.

 

The server log for these unsuccessful logons reveals the following:

 

[2016/02/28 07:29:41.326070,  3]
../source3/lib/smbldap.c:1013(smbldap_connect_system)

  ldap_connect_system: successful connection to the LDAP server

[2016/02/28 07:29:41.327306,  2]
../source3/passdb/pdb_ldap.c:524(init_sam_from_ldap)

  init_sam_from_ldap: Entry found for user: pc-dave$

[2016/02/28 07:29:41.421827,  3]
../source3/passdb/lookup_sid.c:1560(get_primary_group_sid)

  Forcing Primary Group to 'Domain Users' for pc-dave$

[2016/02/28 07:29:41.422496,  3]
../source3/rpc_server/samr/srv_samr_nt.c:2947(_samr_QueryUserInfo)

  User:[pc-dave$]

[2016/02/28 07:29:41.422738,  3]
../source3/rpc_server/samr/srv_samr_nt.c:2947(_samr_QueryUserInfo)

  User:[pc-dave$]

[2016/02/28 07:29:41.422862,  3]
../source3/rpc_server/samr/srv_samr_nt.c:2650(get_user_info_18)

  User:[pc-dave$] 0x80

[2016/02/28 07:29:41.423014,  2]
../libcli/auth/credentials.c:381(netlogon_creds_server_check_internal)

  credentials check failed

[2016/02/28 07:29:41.423066,  0]
../source3/rpc_server/netlogon/srv_netlog_nt.c:997(_netr_ServerAuthenticate3
)

  _netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting
auth request from client PC-DAVE machine account PC-DAVE$

[2016/02/28 07:29:41.424260,  3]
../source3/rpc_server/srv_pipe_hnd.c:122(free_pipe_context)

  free_pipe_context: destroying talloc pool of size 30

[2016/02/28 07:29:41.425680,  3]
../source3/rpc_server/srv_pipe.c:1371(api_rpcTNP)

  api_rpcTNP: rpc command: NETR_SERVERREQCHALLENGE

[2016/02/28 07:29:41.426741,  3]
../source3/rpc_server/srv_pipe_hnd.c:122(free_pipe_context)

  free_pipe_context: destroying talloc pool of size 30

[2016/02/28 07:29:41.427734,  3]
../source3/rpc_server/srv_pipe.c:1371(api_rpcTNP)

  api_rpcTNP: rpc command: NETR_SERVERAUTHENTICATE3

[2016/02/28 07:29:41.427972,  2]
../source3/rpc_server/samr/srv_samr_nt.c:4004(_samr_LookupDomain)

  Returning domain sid for domain DRBHOME ->
S-1-5-21-379225270-2612589903-3976116126

[2016/02/28 07:29:41.428800,  2]
../source3/passdb/pdb_ldap.c:524(init_sam_from_ldap)

  init_sam_from_ldap: Entry found for user: pc-dave$

[2016/02/28 07:29:41.430068,  3]
../source3/passdb/lookup_sid.c:1560(get_primary_group_sid)

  Forcing Primary Group to 'Domain Users' for pc-dave$

[2016/02/28 07:29:41.430827,  3]
../source3/rpc_server/samr/srv_samr_nt.c:2947(_samr_QueryUserInfo)

  User:[pc-dave$]

[2016/02/28 07:29:41.431081,  3]
../source3/rpc_server/samr/srv_samr_nt.c:2947(_samr_QueryUserInfo)

  User:[pc-dave$]

[2016/02/28 07:29:41.431203,  3]
../source3/rpc_server/samr/srv_samr_nt.c:2650(get_user_info_18)

  User:[pc-dave$] 0x80

[2016/02/28 07:29:41.431364,  2]
../libcli/auth/credentials.c:381(netlogon_creds_server_check_internal)

  credentials check failed

[2016/02/28 07:29:41.431467,  0]
../source3/rpc_server/netlogon/srv_netlog_nt.c:997(_netr_ServerAuthenticate3
)

  _netr_ServerAuthenticate3: netlogon_creds_server_check failed. Rejecting
auth request from client PC-DAVE machine account PC-DAVE$

 

 

The second problem I am having is that I cannot join workstations to the
domain. While trying to debug the first problem, I dropped one workstation
from the domain and tried to rejoin it. The server log evidence suggests
that LANMAN passwords are not permitted for the root account; root is the
account I used to use in the old Samba to join workstations.

 

Here's a log snippet:

 

[2016/02/28 08:51:03.846521,  3]
../source3/auth/auth.c:177(auth_check_ntlm_password)

  check_ntlm_password:  Checking password for unmapped user
[DRBHOME]\[root]@[PC-TV] with the new password interface

[2016/02/28 08:51:03.846613,  3]
../source3/auth/auth.c:180(auth_check_ntlm_password)

  check_ntlm_password:  mapped user is: [DRBHOME]\[root]@[PC-TV]

[2016/02/28 08:51:03.847018,  2]
../source3/lib/smbldap.c:794(smbldap_open_connection)

  smbldap_open_connection: connection opened

[2016/02/28 08:51:03.848885,  3]
../source3/lib/smbldap.c:1013(smbldap_connect_system)

  ldap_connect_system: successful connection to the LDAP server

[2016/02/28 08:51:03.850001,  2]
../source3/passdb/pdb_ldap.c:524(init_sam_from_ldap)

  init_sam_from_ldap: Entry found for user: root

[2016/02/28 08:51:03.852731,  3]
../source3/passdb/lookup_sid.c:1560(get_primary_group_sid)

  Forcing Primary Group to 'Domain Users' for root

[2016/02/28 08:51:03.853376,  3]
../libcli/auth/ntlm_check.c:398(ntlm_password_check)

  ntlm_password_check: NTLMv2 password check failed

[2016/02/28 08:51:03.853476,  3]
../libcli/auth/ntlm_check.c:443(ntlm_password_check)

  ntlm_password_check: Lanman passwords NOT PERMITTED for user root

[2016/02/28 08:51:03.853766,  3]
../libcli/auth/ntlm_check.c:587(ntlm_password_check)

  ntlm_password_check: LM password, NT MD4 password in LM field and LMv2
failed for user root

[2016/02/28 08:51:03.853974,  2]
../source3/passdb/pdb_ldap.c:1139(init_ldap_from_sam)

  init_ldap_from_sam: Setting entry for user: root

[2016/02/28 08:51:03.854105,  3]
../source3/auth/auth_winbind.c:60(check_winbind_security)

  check_winbind_security: Not using winbind, requested domain [DRBHOME] was
for this SAM.

[2016/02/28 08:51:03.854183,  2]
../source3/auth/auth.c:288(auth_check_ntlm_password)

  check_ntlm_password:  Authentication for user [root] -> [root] FAILED with
error NT_STATUS_WRONG_PASSWORD

[2016/02/28 08:51:03.854326,  2]
../auth/gensec/spnego.c:743(gensec_spnego_server_negTokenTarg)

  SPNEGO login failed: NT_STATUS_WRONG_PASSWORD

[2016/02/28 08:51:03.855690,  3]
../source3/smbd/server_exit.c:221(exit_server_common)

  Server exit (NT_STATUS_CONNECTION_RESET)

 

Here is part of my smb.conf, excluding only share information, as well as
comment lines and disabled parameters:

 

[global]

   workgroup = DRBHOME

   dns proxy = no

    interfaces = eth1

    bind interfaces only = yes

   log file = /var/log/samba/log.%m

   max log size = 8192

   syslog = 0

   panic action = /usr/share/samba/panic-action %d

    server role = classic primary domain controller

    passdb backend = ldapsam

    obey pam restrictions = no

   unix password sync = yes

  passwd program = /usr/sbin/smbldap-passwd -u %u

   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:*
%n\n *password\supdated\ssuccessfully* .

    map to guest = never

   logon script = netlogon.cmd

  add user script = /usr/sbin/smbldap-useradd -m "%u"

  add machine script = /usr/sbin/smbldap-useradd -w "%u"

  add group script = /usr/sbin/smbldap-groupadd -p "%g"

time server = yes

security = user

domain logons = yes

domain master = yes

lanman auth = no

ldap admin dn = "cn=admin,dc=drbhome,dc=ca"

ldap delete dn = yes

ldap group suffix = ou=Groups

ldap idmap suffix = ou=Users

ldap machine suffix = ou=Computers

ldap passwd sync = yes

ldap ssl = off

ldap suffix = "dc=drbhome,dc=ca"

ldap user suffix = ou=Users

local master = yes

log level = 3

name resolve order = lmhosts host bcast

netbios name = DRBGATE

os level = 20

preferred master = yes

client lanman auth = no

client ntlmv2 auth = yes

client plaintext auth = no

add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"

deadtime = 5

delete group script = /usr/sbin/smbldap-groupdel "%g%

delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"

delete user script = /usr/sbin/smbldap-userdel "%u"

encrypt passwords = yes

hosts allow = 192.168.2. 127.

set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"

 

 

 



More information about the samba mailing list