[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