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.