[Samba] Very strange issue copying only certain files to a share
Matt Pruett
entelin at gmail.com
Fri Jul 7 21:46:30 UTC 2023
I've been troubleshooting this issue for over a week and am running out of
ideas.
Generally everything works fine. I can copy files into the share, create
and delete files and folders. However when copying *some* files from
windows specifically it will say "The destination already has a file named
"a"". A size 0 file by that name is then created. No files exist in the
folder when I test this.
1. Renaming the file has no effect, in this case I renamed a pdf I'm having
trouble with to the letter "a" with no extension.
2. Copying this file to a different windows system results in the same error
3. Renaming a different already working file to "a" and copying it into the
share *works*.
4. Copying the problem files into the share from linux over smb works.
5. I also tried an entirely fresh standalone install of windows which has
the same behavior, and also created a fresh test case with a simplified
smb.conf to help narrow down the issue as seen below.
6. I've tested with and without selinux enforcing, however I have not
gotten any selinux errors regardless, the share has been set to
"samba_share_t"
My test case is a fresh Fedora 38 server with Samba 4.18.4
==> smb.conf: <==
[global]
workgroup = WORKGROUP
security = user
passdb backend = tdbsam
disable netbios = yes
printing = bsd
printcap name = /dev/null
load printers = no
cups options = raw
disable spoolss = yes
log level = 3
# restrict anonymous = 2
# I tried restrict anonymous = 2 following a thread about permission issues
related to anonymous access, but it didn't change the issue.
[test]
path = /srv/test
read only = no
valid users = jaadmin
==> Dir permissions <==
$ ls -lZ /srv/
drwxr-xr-x. 2 jaadmin jaadmin unconfined_u:object_r:samba_share_t:s0 15 Jul
7 16:00 test
==> The size 0 file created on a failed copy <==
# ls -lZ /srv/test/
-rwxr--r--. 1 jaadmin jaadmin system_u:object_r:samba_share_t:s0 0 Jul 7
16:38 a
==> log.smbd <==
[2023/07/07 16:38:16.793627, 3]
../../source3/smbd/smb2_trans2.c:2151(smbd_do_qfsinfo)
smbd_do_qfsinfo: level = 1007
[2023/07/07 16:38:16.795140, 3]
../../source3/smbd/smb2_server.c:3962(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1]
status[NT_STATUS_CANCELLED] || at ../../source3/smbd/smb2_notify.c:126
[2023/07/07 16:38:16.795705, 3]
../../source3/smbd/smb2_server.c:3962(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1]
status[NT_STATUS_CANCELLED] || at ../../source3/smbd/smb2_notify.c:126
[2023/07/07 16:38:16.798528, 2] ../../source3/smbd/open.c:1678(open_file)
jaadmin opened file a read=Yes write=Yes (numopen=3)
[2023/07/07 16:38:16.798643, 2]
../../source3/smbd/close.c:934(close_normal_file)
jaadmin closed file a (numopen=2) NT_STATUS_OK
[2023/07/07 16:38:16.798660, 3]
../../source3/smbd/smb2_server.c:3962(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1]
status[NT_STATUS_ACCESS_DENIED] || at ../../source3/smbd/smb2_create.c:340
[2023/07/07 16:38:16.799052, 3]
../../source3/smbd/smb2_server.c:3962(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1]
status[NT_STATUS_OBJECT_NAME_COLLISION] || at
../../source3/smbd/smb2_create.c:340
[2023/07/07 16:38:16.799691, 3]
../../source3/smbd/smb2_server.c:3962(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1]
status[NT_STATUS_OBJECT_NAME_COLLISION] || at
../../source3/smbd/smb2_create.c:340
[2023/07/07 16:38:16.799996, 2] ../../source3/smbd/open.c:1678(open_file)
jaadmin opened file a read=No write=No (numopen=3)
[2023/07/07 16:38:16.800566, 2]
../../source3/smbd/close.c:934(close_normal_file)
jaadmin closed file a (numopen=1) NT_STATUS_OK
[2023/07/07 16:38:16.801578, 3]
../../source3/smbd/dir.c:1057(smbd_dirptr_get_entry)
smbd_dirptr_get_entry mask=[*] found . fname=. (.)
[2023/07/07 16:38:16.801612, 3]
../../source3/smbd/dir.c:1057(smbd_dirptr_get_entry)
smbd_dirptr_get_entry mask=[*] found .. fname=.. (..)
[2023/07/07 16:38:16.801642, 3]
../../source3/smbd/dir.c:1057(smbd_dirptr_get_entry)
smbd_dirptr_get_entry mask=[*] found a fname=a (a)
[2023/07/07 16:38:16.801668, 3]
../../source3/smbd/smb2_server.c:3962(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5]
status[STATUS_NO_MORE_FILES] || at
../../source3/smbd/smb2_query_directory.c:160
[2023/07/07 16:38:16.806348, 3]
../../source3/smbd/smb2_notify.c:251(smbd_smb2_notify_send)
smbd_smb2_notify_send: notify change called on ., filter = DIR_NAME,
recursive = 0
[2023/07/07 16:38:16.806622, 3]
../../source3/smbd/smb2_notify.c:251(smbd_smb2_notify_send)
smbd_smb2_notify_send: notify change called on ., filter =
FILE_NAME|ATTRIBUTES|LAST_WRITE, recursive = 0
[2023/07/07 16:38:16.806677, 3]
../../source3/smbd/smb2_server.c:3962(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1]
status[NT_STATUS_CANCELLED] || at ../../source3/smbd/smb2_notify.c:126
[2023/07/07 16:38:16.807629, 3]
../../source3/smbd/smb2_server.c:3962(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1]
status[NT_STATUS_CANCELLED] || at ../../source3/smbd/smb2_notify.c:126
[2023/07/07 16:38:16.809659, 3]
../../source3/smbd/smb2_server.c:3962(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1]
status[NT_STATUS_OBJECT_NAME_COLLISION] || at
../../source3/smbd/smb2_create.c:340
[2023/07/07 16:38:16.810260, 3]
../../source3/smbd/smb2_server.c:3962(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1]
status[NT_STATUS_OBJECT_NAME_COLLISION] || at
../../source3/smbd/smb2_create.c:340
[2023/07/07 16:38:16.810599, 3]
../../source3/smbd/smb2_server.c:3962(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1]
status[NT_STATUS_OBJECT_NAME_COLLISION] || at
../../source3/smbd/smb2_create.c:340
[2023/07/07 16:38:16.810835, 2] ../../source3/smbd/open.c:1678(open_file)
jaadmin opened file a read=No write=No (numopen=3)
[2023/07/07 16:38:16.811233, 2]
../../source3/smbd/close.c:934(close_normal_file)
jaadmin closed file a (numopen=1) NT_STATUS_OK
[2023/07/07 16:38:16.811965, 3]
../../source3/smbd/dir.c:1057(smbd_dirptr_get_entry)
smbd_dirptr_get_entry mask=[*] found . fname=. (.)
[2023/07/07 16:38:16.811997, 3]
../../source3/smbd/dir.c:1057(smbd_dirptr_get_entry)
smbd_dirptr_get_entry mask=[*] found .. fname=.. (..)
[2023/07/07 16:38:16.812024, 3]
../../source3/smbd/dir.c:1057(smbd_dirptr_get_entry)
smbd_dirptr_get_entry mask=[*] found a fname=a (a)
[2023/07/07 16:38:16.812047, 3]
../../source3/smbd/smb2_server.c:3962(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5]
status[STATUS_NO_MORE_FILES] || at
../../source3/smbd/smb2_query_directory.c:160
More information about the samba
mailing list