Hello, I am having a problem with Samba 3.0.4 and DOS clients. The
MSDOS COPY command will not work on mapped directories. When I try to
run the COPY command I get an "File not found" error message. This
only
happens on DOS, all other OS's work fine.
I have noticed that someone else on this list has also run into this
problem, but no answer/work-around is posted.
Here is my smb.conf file:
[global]
netbios name =xxxx
workgroup = xxxx
encrypt passwords = yes
domain master = yes
local master = yes
preferred master = yes
os level = 65
security = user
domain logons = yes
logon path = \\%L\profiles\%U
logon script = logon.bat
logon drive = F:
logon home = \\%L\%U\.winprofile
time server = yes
add user script = /usr/sbin/useradd -d /xxxx -g 106 -s
/bin/false %u
add machine script = /usr/sbin/useradd -d /xxxx -g 107 -s
/bin/false %m$
max disk size = 10000
log level = 2
dos filetimes = yes
[netlogon]
path = /usr/share/samba/netlogon
writable = no
browsable = no
[profiles]
comment = Network Profiles Service
path = /xxx
browsable = no
writable = yes
create mask = 0600
directory mask = 0700
nt acl support = no
[homes]
comment = Home Directories
read only = No
browsable = No
guest ok = No
map archive = Yes
[data]
comment = Data directory
path = /xxx
volume = Data
writable = yes
hide dot files = no
force create mode = 664
force directory mode = 775
vfs objects = recycle
recycle: repository = .recycle/%U
recycle: versions = yes
recycle: touch = yes
recycle: keeptree = yes
dos filetimes = yes
store dos attributes = yes
Here is the output from strace when I run COPY DEFAULT.PLT BACK.PLP
Process 28882 attached - interrupt to quit
select(24, [19 22 23], NULL, NULL, {53, 320000}) = 1 (in [22], left
{41, 266000})
read(22, "\0\0\0?", 4) = 4
read(22, "\377SMB\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0E\7"...,
63) = 63
gettimeofday({1100611783, 894473}, NULL) = 0
geteuid() = 0
getegid() = 0
setgroups(1, [106]) = 0
setresgid(4294967295, 106, 4294967295) = 0
getegid() = 106
setresuid(107, 107, 4294967295) = 0
geteuid() = 107
stat("3277/TEST/DEFAULT.PLP", {st_mode=S_IFREG|0764, st_size=600,
...})
= 0
gettimeofday({1100611783, 894905}, NULL) = 0
getxattr("3277/TEST/DEFAULT.PLP", "user.DOSATTRIB",
0x7fbffff180, 256)
= -1 ENODATA (No data available)
fcntl(11, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=428, len=1})
= 0
open("3277/TEST/DEFAULT.PLP", O_RDONLY) = 27
time([1100611783]) = 1100611783
rt_sigaction(SIGPIPE, {0x2a96c00940, [], 0x4000000}, {SIG_DFL}, 8) = 0
sendto(18, "<13>Nov 16 06:29:43 smbd_audit[2"..., 75, 0, NULL,
0) = 75
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
time(NULL) = 1100611783
geteuid() = 107
write(26, "[2004/11/16 06:29:43, 2] smbd/op"..., 52) = 52
geteuid() = 107
write(26, " RON opened file 3277/TEST/DEFA"..., 70) = 70
fcntl(11, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=164, len=1})
= 0
fcntl(11, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=164, len=1})
= 0
fcntl(11, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=428, len=1})
= 0
getxattr("3277/TEST/DEFAULT.PLP", "user.DOSATTRIB",
0x7fbffff260, 256)
= -1 ENODATA (No data available)
sendto(22,
"\0\0\0001\377SMB\2\0\0\0\0\200\1H\0\0\0\0\0\0\0\0\0\0\0"..., 53, 0,
NULL, 0) = 53
time(NULL) = 1100611783
select(24, [19 22 23], NULL, NULL, {60, 0}) = 1 (in [22], left {60, 0})
read(22, "\0\0\0)", 4) = 4
read(22, "\377SMB\4\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0E\7"...,
41) = 41
gettimeofday({1100611783, 896731}, NULL) = 0
fcntl(11, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=428, len=1})
= 0
fcntl(11, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=10208, len=1})
= 0
fcntl(11, F_SETLK, {type=F_UNLCK, whence=SEEK_SET, start=10208, len=1})
= 0
fcntl(11, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=164, len=1})
= 0
fcntl(11, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=164, len=1})
= 0
fcntl(11, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=428, len=1})
= 0
fcntl(10, F_SETLKW, {type=F_WRLCK, whence=SEEK_SET, start=428, len=1})
= 0
fcntl(10, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=428, len=1})
= 0
close(27) = 0
time([1100611783]) = 1100611783
rt_sigaction(SIGPIPE, {0x2a96c00940, [], 0x4000000}, {SIG_DFL}, 8) = 0
sendto(18, "<13>Nov 16 06:29:43 smbd_audit[2"..., 52, 0, NULL,
0) = 52
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
time(NULL) = 1100611783
geteuid() = 107
write(26, "[2004/11/16 06:29:43, 2] smbd/cl"..., 61) = 61
geteuid() = 107
write(26, " ron closed file 3277/TEST/DEFA"..., 53) = 53
utime("3277/TEST/DEFAULT.PLP", [2004/11/12-03:16:40,
2004/11/12-03:16:40]) = 0
sendto(22,
"\0\0\0#\377SMB\4\0\0\0\0\200\1H\0\0\0\0\0\0\0\0\0\0\0\0"..., 39, 0,
NULL, 0) = 39
time(NULL) = 1100611783
select(24, [19 22 23], NULL, NULL, {60, 0}) = 1 (in [22], left {60, 0})
read(22, "\0\0\0B", 4) = 4
read(22, "\377SMB\201\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0E"...,
66) = 66
gettimeofday({1100611783, 898698}, NULL) = 0
stat("3277/TEST/DEFAULT.PLP", {st_mode=S_IFREG|0764, st_size=600,
...})
= 0
open("3277/TEST", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 27
fstat(27, {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
fcntl(27, F_SETFD, FD_CLOEXEC) = 0
time([1100611783]) = 1100611783
rt_sigaction(SIGPIPE, {0x2a96c00940, [], 0x4000000}, {SIG_DFL}, 8) = 0
sendto(18, "<13>Nov 16 06:29:43 smbd_audit[2"..., 58, 0, NULL,
0) = 58
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
getdents(27, /* 13 entries */, 4096) = 400
getdents(27, /* 0 entries */, 4096) = 0
close(27) = 0
stat("3277/TEST/DEFAULT.PLP", {st_mode=S_IFREG|0764, st_size=600,
...})
= 0
getxattr("3277/TEST/DEFAULT.PLP", "user.DOSATTRIB",
0x7fbfffd4f0, 256)
= -1 ENODATA (No data available)
sendto(22,
"\0\0\0S\377SMB\201\0\0\0\0\200\1H\0\0\0\0\0\0\0\0\0\0\0"..., 87, 0,
NULL, 0) = 87
time(NULL) = 1100611783
select(24, [19 22 23], NULL, NULL, {60, 0}) = 1 (in [22], left {59,
999000})
read(22, "\0\0\0<", 4) = 4
read(22, "\377SMB\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0E\7"...,
60) = 60
gettimeofday({1100611783, 900421}, NULL) = 0
stat("3277/TEST", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("3277/TEST/BACK.PLP", 0x7fbffff2f0) = -1 ENOENT (No such file or
directory)
stat("3277/TEST/BACK.PLP", 0x7fbffff2f0) = -1 ENOENT (No such file or
directory)
open("3277/TEST", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 27
fstat(27, {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
fcntl(27, F_SETFD, FD_CLOEXEC) = 0
time([1100611783]) = 1100611783
rt_sigaction(SIGPIPE, {0x2a96c00940, [], 0x4000000}, {SIG_DFL}, 8) = 0
sendto(18, "<13>Nov 16 06:29:43 smbd_audit[2"..., 58, 0, NULL,
0) = 58
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
getdents(27, /* 13 entries */, 4096) = 400
getdents(27, /* 0 entries */, 4096) = 0
close(27) = 0
gettimeofday({1100611783, 901295}, NULL) = 0
open("3277/TEST/BACK.PLP", O_RDONLY) = -1 ENOENT (No such file or
directory)
time([1100611783]) = 1100611783
rt_sigaction(SIGPIPE, {0x2a96c00940, [], 0x4000000}, {SIG_DFL}, 8) = 0
sendto(18, "<13>Nov 16 06:29:43 smbd_audit[2"..., 105, 0, NULL,
0) = 105
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
sendto(22,
"\0\0\0#\377SMB\2\1\0\2\0\200\1\10\0\0\0\0\0\0\0\0\0\0\0"..., 39, 0,
NULL, 0) = 39
time(NULL) = 1100611783
select(24, [19 22 23], NULL, NULL, {60, 0}) = 1 (in [22], left {59,
999000})
read(22, "\0\0\0008", 4) = 4
read(22, "\377SMB\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0E\7"...,
56) = 56
gettimeofday({1100611783, 902386}, NULL) = 0
stat("3277/TEST", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
stat("3277/TEST/BACK.PLP", 0x7fbffff310) = -1 ENOENT (No such file or
directory)
stat("3277/TEST/BACK.PLP", 0x7fbffff310) = -1 ENOENT (No such file or
directory)
open("3277/TEST", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 27
fstat(27, {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
fcntl(27, F_SETFD, FD_CLOEXEC) = 0
time([1100611783]) = 1100611783
rt_sigaction(SIGPIPE, {0x2a96c00940, [], 0x4000000}, {SIG_DFL}, 8) = 0
sendto(18, "<13>Nov 16 06:29:43 smbd_audit[2"..., 58, 0, NULL,
0) = 58
rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
getdents(27, /* 13 entries */, 4096) = 400
getdents(27, /* 0 entries */, 4096) = 0
close(27) = 0
stat("3277/TEST/BACK.PLP", 0x7fbffff400) = -1 ENOENT (No such file or
directory)
sendto(22,
"\0\0\0#\377SMB\20\1\0\2\0\200\1\10\0\0\0\0\0\0\0\0\0\0"...,
39, 0, NULL, 0) = 39
time(NULL) = 1100611783
select(24, [19 22 23], NULL, NULL, {60, 0}) = 1 (in [22], left {59,
998000})
read(22, "\0\0\0/", 4) = 4
read(22, "\377SMB\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0E\7"...,
47) = 47
gettimeofday({1100611783, 906022}, NULL) = 0
stat("3277/TEST", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
sendto(22,
"\0\0\0#\377SMB\20\0\0\0\0\200\1H\0\0\0\0\0\0\0\0\0\0\0"...,
39, 0, NULL, 0) = 39
time(NULL) = 1100611783
select(24, [19 22 23], NULL, NULL, {60, 0} <unfinished ...>
Process 28882 detached
--
Craig Funk
funkmeister -at- lynxseismicdata -dot- com
Michael Lueck
2004-Nov-16 20:50 UTC
[Samba] Re: Samba 3.0.4 and DOS 6.2.2 - MSDOS Copy problem
Thoughts / findings I use MS DOS 7 (ala Win98SE) and copy works fine. I've been banging Samba 3 pretty hard since the 3.0.4 build. I tested copy again against the 3.0.8 test server I just set up. On the remote drive letter, copy from an existing file to a new filename, works fine! MS had a couple of SMB clients. I think I am using the one from.... dsk3-1.exe dsk3-2.exe these files I think. There were some updates I applied as well. I run it in TCP/IP DHCP mode. Once I got it installed it jumped inside a zip file and I never run the install from source media. I have scripts to craft my own INI files, etc... Anyway, now copy would be part of command.com (DOS), the NET files would be part of the MS client. So there is a bit of room for variable configurations there between our environments. -- Michael Lueck Lueck Data Systems Remove the upper case letters NOSPAM to contact me directly.