I am not able to mount samba shares after upgrading CentOS 7.5 to 7.6. I have been searching and trying to configure samba and winbind but no success. I find a lot of manuals and help pages about setting samba and winbind for machine acting as AD DC member but almost nothing about machine acting as NT4 style DC member and that is my case.
Samba version before upgrade: samba-4.7.1-9.el7_5.x86_64, after upgrade: samba-4.8.3-4.el7.x86_64. I noticed that now it is necessary to use winbind which I did not use before upgrade.
My network:
Machine with CentOS 6.9 is PDC (NT4 style) configured with ldap and kerberos, providing domain logon services to Windows and Samba clients of an NT4-like domain. openldap-2.4.40-16.el6.x86_64, krb5-server-1.10.3-65.el6.x86_64, samba-3.6.23-51.el6.x86_64.
Machine with CentOS 7.6 is domain member offering network shares to windows clients. Before upgrade my samba-4.7 run only smb and nmb services and everything were fine. After upgrade samba-4.8.3 runs smb nmb and winbind services.
smb.conf:
workgroup = NT4DOMAIN
netbios name = NT4MEMBER
Code: Select all
# wbinfo -m --verbose
Domain Name DNS Domain Trust Type Transitive In Out
BUILTIN Local
NT4MEMBER Local
NT4DOMAIN INTRANET.XX Workstation Yes No Yes
# wbinfo --own-domain
NT4DOMAIN
I discovered that winbind is not authenticating users with NT4DOMAIN but only with NT4MEMBER. In this case NT4MEMBER users ARE NT4DOMAIN users (there is only one user1 in ldap database). It can be seen in logs bellow. I set debug level 3 for smbd and winbindd. Windows machines have joined NT4DOMAIN but now cannot mount shares from NT4MEMBER. Windows mount command net use /user:NT4DOMAIN\user1 \\NT4MEMBER\share1 is equal to linux command smbclient //NT4MEMBER/share1 -U NT4DOMAIN\\user1. From linux machine I can mount share by this command: smbclient //NT4MEMBER/share1 -U NT4MEMBER\\user1 but from windows machine it is not possible. Normally (before upgrade) Windows users mapped shares from startup script with this command: net use \\NT4MEMBER\share1.
What is going wrong can be seen from logs:
Code: Select all
# smbclient //NT4MEMBER/share1 -U NT4DOMAIN\\user1
smbd log:
check_ntlm_password: Checking password for unmapped user [NT4DOMAIN]\[user1]@[NT4MEMBER] with the new password interface
check_ntlm_password: mapped user is: [NT4DOMAIN]\[user1]@[NT4MEMBER]
check_ntlm_password: Authentication for user [user1] -> [user1] FAILED with error NT_STATUS_NO_MEMORY, authoritative=1
Auth: [SMB2,(null)] user [NT4DOMAIN]\[user1] at [Wed, 19 Dec 2018 13:56:08.989053 CET] with [NTLMv2] status [NT_STATUS_NO_MEMORY] workstation [NT4MEMBER] remote host [ipv4:X.X.X.X:40488] mapped to [NT4DOMAIN]\[user1]. local host [ipv4:X.X.X.X:445]
log_no_json: JSON auth logs not available unless compiled with jansson
gensec_spnego_server_negTokenTarg_step: SPNEGO(ntlmssp) login failed: NT_STATUS_NO_MEMORY
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_NO_MEMORY] || at ../source3/smbd/smb2_sesssetup.c:137
Server exit (NT_STATUS_END_OF_FILE)
Terminated
winbind log:
[ 9232]: request interface version (version = 30)
[ 9232]: request location of privileged pipe
[ 9232]: pam auth crap domain: [NT4DOMAIN] user: user1
set_dc_type_and_flags_connect: DC for domain NT4DOMAIN claimed it was a DC for domain NT4MEMBER, refusing to initialize
[ 9228]: pam auth crap domain: NT4DOMAIN user: user1
set_dc_type_and_flags_connect: DC for domain NT4DOMAIN claimed it was a DC for domain NT4MEMBER, refusing to initialize
set_dc_type_and_flags_connect: DC for domain NT4DOMAIN claimed it was a DC for domain NT4MEMBER, refusing to initialize
ldb_wrap open of secrets.ldb
rpccli_create_netlogon_creds failed for NT4DOMAIN, unable to create NETLOGON credentials: NT_STATUS_NO_MEMORY
Could not open handle to NETLOGON pipe (error: NT_STATUS_NO_MEMORY, attempts: 0)
The connection to netlogon failed, retrying
set_dc_type_and_flags_connect: DC for domain NT4DOMAIN claimed it was a DC for domain NT4MEMBER, refusing to initialize
set_dc_type_and_flags_connect: DC for domain NT4DOMAIN claimed it was a DC for domain NT4MEMBER, refusing to initialize
ldb_wrap open of secrets.ldb
rpccli_create_netlogon_creds failed for NT4DOMAIN, unable to create NETLOGON credentials: NT_STATUS_NO_MEMORY
Could not open handle to NETLOGON pipe (error: NT_STATUS_NO_MEMORY, attempts: 1)
This is again a problem for this particular call, forcing the close of this connection
The connection to netlogon failed, retrying
set_dc_type_and_flags_connect: DC for domain NT4DOMAIN claimed it was a DC for domain NT4MEMBER, refusing to initialize
set_dc_type_and_flags_connect: DC for domain NT4DOMAIN claimed it was a DC for domain NT4MEMBER, refusing to initialize
ldb_wrap open of secrets.ldb
rpccli_create_netlogon_creds failed for NT4DOMAIN, unable to create NETLOGON credentials: NT_STATUS_NO_MEMORY
Could not open handle to NETLOGON pipe (error: NT_STATUS_NO_MEMORY, attempts: 2)
This is again a problem for this particular call, forcing the close of this connection
This is the third problem for this particular call, adding DC to the negative cache list: NT4DOMAIN (null)
The connection to netlogon failed, retrying
set_dc_type_and_flags_connect: DC for domain NT4DOMAIN claimed it was a DC for domain NT4MEMBER, refusing to initialize
set_dc_type_and_flags_connect: DC for domain NT4DOMAIN claimed it was a DC for domain NT4MEMBER, refusing to initialize
ldb_wrap open of secrets.ldb
rpccli_create_netlogon_creds failed for NT4DOMAIN, unable to create NETLOGON credentials: NT_STATUS_NO_MEMORY
Could not open handle to NETLOGON pipe (error: NT_STATUS_NO_MEMORY, attempts: 3)
This is again a problem for this particular call, forcing the close of this connection
This is the third problem for this particular call, adding DC to the negative cache list: NT4DOMAIN (null)
NTLM CRAP authentication for user [NT4DOMAIN]\[user1] returned NT_STATUS_NO_MEMORY
# smbclient //NT4MEMBER/share1 -U NT4MEMBER\\user1
smbd log:
check_ntlm_password: Checking password for unmapped user [NT4MEMBER]\[user1]@[NT4MEMBER] with the new password interface
check_ntlm_password: mapped user is: [NT4MEMBER]\[user1]@[NT4MEMBER]
init_sam_from_ldap: Entry found for user: user1
auth_check_ntlm_password: sam authentication for user [user1] succeeded
Auth: [SMB2,(null)] user [NT4MEMBER]\[user1] at [Wed, 19 Dec 2018 14:00:37.714900 CET] with [NTLMv2] status [NT_STATUS_OK] workstation [NT4MEMBER] remote host [ipv4:X.X.X.X:40494] became [NT4MEMBER]\[user1] [S-1-5-21-x-x-x-21020]. local host [ipv4:X.X.X.X:445]
log_no_json: JSON auth logs not available unless compiled with jansson
check_ntlm_password: authentication for user [user1] -> [user1] -> [user1] succeeded
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x62088215
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x62088215
init_group_from_ldap: Entry found for group: 544
init_group_from_ldap: Entry found for group: 100000
Adding homes service for user 'user1' using home directory: '/posta/user1'
adding home's share [user1] for user 'user1' at '/data/osobni/%S'
Allowed connection from X.X.X.X (X.X.X.X)
Connect path is '/tmp' for service [IPC$]
Initialising default vfs hooks
Initialising custom vfs hooks from [/[Default VFS]/]
NT4MEMBER (ipv4:X.X.X.X:40494) connect to service IPC$ initially as user user1 (uid=10010, gid=513) (pid 7874)
get_referred_path: |share1| in dfs path \NT4MEMBER\share1 is not a dfs root.
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_NOT_FOUND] || at ../source3/smbd/smb2_ioctl.c:312
NT4MEMBER (ipv4:X.X.X.X:40494) closed connection to service IPC$
Allowed connection from X.X.X.X (X.X.X.X)
Connect path is '/samba1/664' for service [share1]
Initialising default vfs hooks
Initialising custom vfs hooks from [/[Default VFS]/]
Initialising custom vfs hooks from [recycle]
load_module_absolute_path: Module '/usr/lib64/samba/vfs/recycle.so' loaded
NT4MEMBER (ipv4:X.X.X.X:40494) connect to service share1 initially as user user1 (uid=10010, gid=513) (pid 7874)
winbind log:
[ 9238]: request interface version (version = 30)
[ 9238]: request location of privileged pipe
sids_to_xids
sam_sid_to_name
sam_sid_to_name
sam_sid_to_name
StartTLS issued: using a TLS connection
smbldap_open_connection: connection opened
ldap_connect_system: successful connection to the LDAP server