[Pkg-samba-maint] Bug#949394: libsmbclient: smbclient and others cannot rename remote files

Gilles Grandou gilles at grandou.net
Mon Jan 20 15:57:00 GMT 2020


Package: libsmbclient
Version: 2:4.9.5+dfsg-5+deb10u1
Severity: normal

Dear Maintainer,

Since upgrade to buster, I cannot rename files on mounted SMB remote
filesystems. This happens on gui tools (nemo, nautilus, ...) and on
smbclient as well. So I guess it's linked to libsmbclient.

-- System Information:
Debian Release: 10.2
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-6-amd64 (SMP w/4 CPU cores)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages libsmbclient depends on:
ii  dpkg        1.19.7
ii  libbsd0     0.9.1-2
ii  libc6       2.28-10
ii  libtalloc2  2.1.14-2
ii  libtevent0  0.9.37-1
ii  samba-libs  2:4.9.5+dfsg-5+deb10u1

libsmbclient recommends no packages.

libsmbclient suggests no packages.

-- no debconf information

see below the transcript of a smbclient session (hostnames and ipv6
addresses have been anonymised):

* put command works fine
* rm command works fine
* scopy command works fine
* rename fails

smb: \> rename hello.txt hello2.txt
NT_STATUS_OBJECT_PATH_NOT_FOUND renaming files \SMBSERVER\tmp\hello.txt -> \SMBSERVER\tmp\hello2.txt


gilles at LOCALPC:~$ smbclient -d 10 //SMBSERVER/tmp
[...]
Processing section "[global]"
doing parameter workgroup = WORKGROUP
doing parameter log file = /var/log/samba/log.%m
doing parameter max log size = 1000
doing parameter logging = file
doing parameter panic action = /usr/share/samba/panic-action %d
doing parameter server role = standalone server
doing parameter obey pam restrictions = yes
doing parameter unix password sync = yes
doing parameter passwd program = /usr/bin/passwd %u
doing parameter passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
doing parameter pam password change = yes
doing parameter map to guest = bad user
doing parameter usershare allow guests = yes
pm_process() returned Yes
lp_servicenumber: couldn't find homes
directory_create_or_exist_strict: invalid ownership on directory /var/run/samba/msg.lock
messaging_init_internal: Could not create lock directory: No such file or directory
cmdline_messaging_context: Unable to initialize messaging context.
Unable to initialize messaging context
lp_load_ex: refreshing parameters
Freeing parametrics:
Initialising global parameters
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
[...]
Processing section "[global]"
doing parameter workgroup = WORKGROUP
doing parameter log file = /var/log/samba/log.%m
doing parameter max log size = 1000
doing parameter logging = file
doing parameter panic action = /usr/share/samba/panic-action %d
doing parameter server role = standalone server
doing parameter obey pam restrictions = yes
doing parameter unix password sync = yes
doing parameter passwd program = /usr/bin/passwd %u
doing parameter passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
doing parameter pam password change = yes
doing parameter map to guest = bad user
doing parameter usershare allow guests = yes
pm_process() returned Yes
lp_servicenumber: couldn't find homes
added interface eth0 ip=xxxx:xxxx::xxxx bcast= netmask=ffff:ffff:ffff:ffff::
added interface eth0 ip=192.168.1.11 bcast=192.168.1.255 netmask=255.255.255.0
Netbios name list:-
my_netbios_names[0]="LOCALPC"
Client started (version 4.9.5-Debian).
Opening cache file at /var/cache/samba/gencache.tdb
tdb(/var/cache/samba/gencache.tdb): tdb_open_ex: could not open file /var/cache/samba/gencache.tdb: Permission denied
gencache_init: Opening cache file /var/cache/samba/gencache.tdb read-only.
Opening cache file at /var/run/samba/gencache_notrans.tdb
Adding cache entry with key=[AD_SITENAME/DOMAIN/] and timeout=[Thu Jan  1 01:00:00 1970 CET] (-1579534168 seconds in the past)
sitename_fetch: No stored sitename for realm ''
internal_resolve_name: looking up SMBSERVER#20 (sitename (null))
Adding cache entry with key=[NBT/SMBSERVER#20] and timeout=[Thu Jan  1 01:00:00 1970 CET] (-1579534168 seconds in the past)
no entry for SMBSERVER#20 found.
resolve_lmhosts: Attempting lmhosts lookup for name SMBSERVER<0x20>
startlmhosts: Can't open lmhosts file /etc/samba/lmhosts. Error was No such file or directory
resolve_wins: WINS server resolution selected and no WINS servers listed.
resolve_hosts: Attempting host lookup for name SMBSERVER<0x20>
remove_duplicate_addrs2: looking for duplicate address/port pairs
namecache_store: storing 3 addresses for SMBSERVER#20: [xxxx:xxxx::xxxx],[xxxx:xxxx::xxxx],192.168.1.12
Adding cache entry with key=[NBT/SMBSERVER#20] and timeout=[Thu Jan  1 01:00:00 1970 CET] (-1579534168 seconds in the past)
Adding cache entry with key=[NBT/SMBSERVER#20] and timeout=[Mon Jan 20 16:40:28 2020 CET] (660 seconds ahead)
internal_resolve_name: returning 3 addresses: xxxx:xxxx::xxxx xxxx:xxxx::xxxx 192.168.1.12:0 
Connecting to xxxx:xxxx::xxxx at port 445
Socket options:
	SO_KEEPALIVE = 0
	SO_REUSEADDR = 0
	SO_BROADCAST = 0
	TCP_NODELAY = 1
	TCP_KEEPCNT = 9
	TCP_KEEPIDLE = 7200
	TCP_KEEPINTVL = 75
	IPTOS_LOWDELAY = 0
	IPTOS_THROUGHPUT = 0
	SO_REUSEPORT = 0
	SO_SNDBUF = 2619904
	SO_RCVBUF = 369280
	SO_SNDLOWAT = 1
	SO_RCVLOWAT = 1
	SO_SNDTIMEO = 0
	SO_RCVTIMEO = 0
	TCP_QUICKACK = 1
	TCP_DEFER_ACCEPT = 0
 session request ok
 negotiated dialect[SMB3_11] against server[SMBSERVER]
got OID=1.3.6.1.4.1.311.2.2.10
Enter WORKGROUP\gilles's password: 
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
GENSEC backend 'http_negotiate' registered
GENSEC backend 'krb5' registered
GENSEC backend 'fake_gssapi_krb5' registered
Starting GENSEC mechanism spnego
Starting GENSEC submechanism ntlmssp
     negotiate: struct NEGOTIATE_MESSAGE
        Signature                : 'NTLMSSP'
        MessageType              : NtLmNegotiate (1)
        NegotiateFlags           : 0x62088215 (1644724757)
               1: NTLMSSP_NEGOTIATE_UNICODE
               0: NTLMSSP_NEGOTIATE_OEM    
               1: NTLMSSP_REQUEST_TARGET   
               1: NTLMSSP_NEGOTIATE_SIGN   
               0: NTLMSSP_NEGOTIATE_SEAL   
               0: NTLMSSP_NEGOTIATE_DATAGRAM
               0: NTLMSSP_NEGOTIATE_LM_KEY 
               0: NTLMSSP_NEGOTIATE_NETWARE
               1: NTLMSSP_NEGOTIATE_NTLM   
               0: NTLMSSP_NEGOTIATE_NT_ONLY
               0: NTLMSSP_ANONYMOUS        
               0: NTLMSSP_NEGOTIATE_OEM_DOMAIN_SUPPLIED
               0: NTLMSSP_NEGOTIATE_OEM_WORKSTATION_SUPPLIED
               0: NTLMSSP_NEGOTIATE_THIS_IS_LOCAL_CALL
               1: NTLMSSP_NEGOTIATE_ALWAYS_SIGN
               0: NTLMSSP_TARGET_TYPE_DOMAIN
               0: NTLMSSP_TARGET_TYPE_SERVER
               0: NTLMSSP_TARGET_TYPE_SHARE
               1: NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY
               0: NTLMSSP_NEGOTIATE_IDENTIFY
               0: NTLMSSP_REQUEST_NON_NT_SESSION_KEY
               0: NTLMSSP_NEGOTIATE_TARGET_INFO
               1: NTLMSSP_NEGOTIATE_VERSION
               1: NTLMSSP_NEGOTIATE_128    
               1: NTLMSSP_NEGOTIATE_KEY_EXCH
               0: NTLMSSP_NEGOTIATE_56     
        DomainNameLen            : 0x0000 (0)
        DomainNameMaxLen         : 0x0000 (0)
        DomainName               : *
            DomainName               : ''
        WorkstationLen           : 0x0000 (0)
        WorkstationMaxLen        : 0x0000 (0)
        Workstation              : *
            Workstation              : ''
        Version: struct ntlmssp_VERSION
            ProductMajorVersion      : NTLMSSP_WINDOWS_MAJOR_VERSION_6 (6)
            ProductMinorVersion      : NTLMSSP_WINDOWS_MINOR_VERSION_1 (1)
            ProductBuild             : 0x0000 (0)
            Reserved: ARRAY(3)
                [0]                      : 0x00 (0)
                [1]                      : 0x00 (0)
                [2]                      : 0x00 (0)
            NTLMRevisionCurrent      : NTLMSSP_REVISION_W2K3 (15)
gensec_update_send: ntlmssp[0x55e7b27d43d0]: subreq: 0x55e7b27cafa0
gensec_update_send: spnego[0x55e7b27d2ee0]: subreq: 0x55e7b27d3cc0
gensec_update_done: ntlmssp[0x55e7b27d43d0]: NT_STATUS_MORE_PROCESSING_REQUIRED tevent_req[0x55e7b27cafa0/../auth/ntlmssp/ntlmssp.c:181]: state[2] error[0 (0x0)]  state[struct gensec_ntlmssp_update_state (0x55e7b27cb150)] timer[(nil)] finish[../auth/ntlmssp/ntlmssp.c:215]
gensec_update_done: spnego[0x55e7b27d2ee0]: NT_STATUS_MORE_PROCESSING_REQUIRED tevent_req[0x55e7b27d3cc0/../auth/gensec/spnego.c:1601]: state[2] error[0 (0x0)]  state[struct gensec_spnego_update_state (0x55e7b27d3e70)] timer[(nil)] finish[../auth/gensec/spnego.c:2070]
Got challenge flags:
Got NTLMSSP neg_flags=0x628a8215
  NTLMSSP_NEGOTIATE_UNICODE
  NTLMSSP_REQUEST_TARGET
  NTLMSSP_NEGOTIATE_SIGN
  NTLMSSP_NEGOTIATE_NTLM
  NTLMSSP_NEGOTIATE_ALWAYS_SIGN
  NTLMSSP_TARGET_TYPE_SERVER
  NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY
  NTLMSSP_NEGOTIATE_TARGET_INFO
  NTLMSSP_NEGOTIATE_VERSION
  NTLMSSP_NEGOTIATE_128
  NTLMSSP_NEGOTIATE_KEY_EXCH
short string '', sent with NULL termination despite NOTERM flag in IDL
NTLMSSP: Set final flags:
Got NTLMSSP neg_flags=0x62088215
  NTLMSSP_NEGOTIATE_UNICODE
  NTLMSSP_REQUEST_TARGET
  NTLMSSP_NEGOTIATE_SIGN
  NTLMSSP_NEGOTIATE_NTLM
  NTLMSSP_NEGOTIATE_ALWAYS_SIGN
  NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY
  NTLMSSP_NEGOTIATE_VERSION
  NTLMSSP_NEGOTIATE_128
  NTLMSSP_NEGOTIATE_KEY_EXCH
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x62088215
  NTLMSSP_NEGOTIATE_UNICODE
  NTLMSSP_REQUEST_TARGET
  NTLMSSP_NEGOTIATE_SIGN
  NTLMSSP_NEGOTIATE_NTLM
  NTLMSSP_NEGOTIATE_ALWAYS_SIGN
  NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY
  NTLMSSP_NEGOTIATE_VERSION
  NTLMSSP_NEGOTIATE_128
  NTLMSSP_NEGOTIATE_KEY_EXCH
gensec_update_send: ntlmssp[0x55e7b27d43d0]: subreq: 0x55e7b27cb2e0
gensec_update_send: spnego[0x55e7b27d2ee0]: subreq: 0x55e7b27d6e20
gensec_update_done: ntlmssp[0x55e7b27d43d0]: NT_STATUS_OK tevent_req[0x55e7b27cb2e0/../auth/ntlmssp/ntlmssp.c:181]: state[2] error[0 (0x0)]  state[struct gensec_ntlmssp_update_state (0x55e7b27cb490)] timer[(nil)] finish[../auth/ntlmssp/ntlmssp.c:222]
gensec_update_done: spnego[0x55e7b27d2ee0]: NT_STATUS_MORE_PROCESSING_REQUIRED tevent_req[0x55e7b27d6e20/../auth/gensec/spnego.c:1601]: state[2] error[0 (0x0)]  state[struct gensec_spnego_update_state (0x55e7b27d6fd0)] timer[(nil)] finish[../auth/gensec/spnego.c:2070]
ntlmssp_check_packet: NTLMSSP signature OK !
NTLMSSP Sign/Seal - Initialising with flags:
Got NTLMSSP neg_flags=0x62088215
  NTLMSSP_NEGOTIATE_UNICODE
  NTLMSSP_REQUEST_TARGET
  NTLMSSP_NEGOTIATE_SIGN
  NTLMSSP_NEGOTIATE_NTLM
  NTLMSSP_NEGOTIATE_ALWAYS_SIGN
  NTLMSSP_NEGOTIATE_EXTENDED_SESSIONSECURITY
  NTLMSSP_NEGOTIATE_VERSION
  NTLMSSP_NEGOTIATE_128
  NTLMSSP_NEGOTIATE_KEY_EXCH
gensec_update_send: spnego[0x55e7b27d2ee0]: subreq: 0x55e7b27d68b0
gensec_update_done: spnego[0x55e7b27d2ee0]: NT_STATUS_OK tevent_req[0x55e7b27d68b0/../auth/gensec/spnego.c:1601]: state[2] error[0 (0x0)]  state[struct gensec_spnego_update_state (0x55e7b27d6a60)] timer[(nil)] finish[../auth/gensec/spnego.c:2070]
 session setup ok
signed SMB2 message
signed SMB2 message
 tconx ok
Try "help" to get a list of possible commands.
smb: \> ls
dos_clean_name [\*]
unix_clean_name [\*]
  .                                  DA        0  Tue Jun  5 00:09:26 2018
  ..                                 DA        0  Mon Jan 20 02:06:07 2020

		3746086260 blocks of size 1024. 1373271296 blocks available
Total bytes listed: 0
smb: \> put hello.txt
dos_clean_name [\hello.txt]
unix_clean_name [\hello.txt]
map_open_params_to_ntcreate: fname = \SMBSERVER\tmp\hello.txt, deny_mode = 0x42, open_func = 0x12
map_open_params_to_ntcreate: file \SMBSERVER\tmp\hello.txt, access_mask = 0x12019f, share_mode = 0x3, create_disposition = 0x5, create_options = 0x40 private_flags = 0x0
putting file hello.txt as \hello.txt (2.0 kb/s) (average 2.0 kb/s)
smb: \> ls
dos_clean_name [\*]
unix_clean_name [\*]
  .                                  DA        0  Mon Jan 20 16:29:44 2020
  ..                                 DA        0  Mon Jan 20 02:06:07 2020
  hello.txt                           A        6  Mon Jan 20 16:29:44 2020

		3746086260 blocks of size 1024. 1373271296 blocks available
Total bytes listed: 6
smb: \> put hello.txt hello2.txt
dos_clean_name [\hello2.txt]
unix_clean_name [\hello2.txt]
map_open_params_to_ntcreate: fname = \SMBSERVER\tmp\hello2.txt, deny_mode = 0x42, open_func = 0x12
map_open_params_to_ntcreate: file \SMBSERVER\tmp\hello2.txt, access_mask = 0x12019f, share_mode = 0x3, create_disposition = 0x5, create_options = 0x40 private_flags = 0x0
putting file hello.txt as \hello2.txt (2.0 kb/s) (average 2.0 kb/s)
smb: \> ls
dos_clean_name [\*]
unix_clean_name [\*]
  .                                  DA        0  Mon Jan 20 16:29:54 2020
  ..                                 DA        0  Mon Jan 20 02:06:07 2020
  hello.txt                           A        6  Mon Jan 20 16:29:44 2020
  hello2.txt                          A        6  Mon Jan 20 16:29:54 2020

		3746086260 blocks of size 1024. 1373271296 blocks available
Total bytes listed: 12
smb: \> put hello.txt
dos_clean_name [\hello.txt]
unix_clean_name [\hello.txt]
map_open_params_to_ntcreate: fname = \SMBSERVER\tmp\hello.txt, deny_mode = 0x42, open_func = 0x12
map_open_params_to_ntcreate: file \SMBSERVER\tmp\hello.txt, access_mask = 0x12019f, share_mode = 0x3, create_disposition = 0x5, create_options = 0x40 private_flags = 0x0
putting file hello.txt as \hello.txt (2.0 kb/s) (average 2.0 kb/s)
smb: \> rm hello2.txt
dos_clean_name [\hello2.txt]
unix_clean_name [\hello2.txt]
smb: \> ls
dos_clean_name [\*]
unix_clean_name [\*]
  .                                  DA        0  Mon Jan 20 16:30:05 2020
  ..                                 DA        0  Mon Jan 20 02:06:07 2020
  hello.txt                           A        6  Mon Jan 20 16:29:59 2020

		3746086260 blocks of size 1024. 1373271296 blocks available
Total bytes listed: 6
smb: \> rename hello.txt hello2.txt
dos_clean_name [\hello.txt]
unix_clean_name [\hello.txt]
dos_clean_name [\hello2.txt]
unix_clean_name [\hello2.txt]
NT_STATUS_OBJECT_PATH_NOT_FOUND renaming files \SMBSERVER\tmp\hello.txt -> \SMBSERVER\tmp\hello2.txt 
smb: \> scopy hello.txt hello2.txt
dos_clean_name [\hello.txt]
unix_clean_name [\hello.txt]
dos_clean_name [\hello2.txt]
unix_clean_name [\hello2.txt]
Copied 6 bytes at an average 5.9 kb/s
smb: \> ls 
dos_clean_name [\*]
unix_clean_name [\*]
  .                                  DA        0  Mon Jan 20 16:30:57 2020
  ..                                 DA        0  Mon Jan 20 02:06:07 2020
  hello.txt                           A        6  Mon Jan 20 16:29:59 2020
  hello2.txt                          A        6  Mon Jan 20 16:30:57 2020

		3746086260 blocks of size 1024. 1373271296 blocks available
Total bytes listed: 12
smb: \> 



More information about the Pkg-samba-maint mailing list