[Samba] DFS not working from XP

Thomas Stewart tstewart at nibsc.ac.uk
Sat Mar 31 15:40:34 GMT 2007


Hi,

I'm am trying to configure our samba server to use dfs. It authenticates
against active directory but it gets the uid mappings from nis via the 
local
nsswitch. I think I have configured dfs ok as smbclient[1] seems to work ok
with my minimal config[2]. However I can't access it from Windows XP[3], 
I get
"network path was not found" when using "net use" from a cmd.exe.

 From the logs[4], it's as if windows does not think it's a dfs share or 
samba
is not serving it up as a dfs share. Even at debug level 10 when windows
accesses the server msdfs.c is never mentioned.

I have sort of hit a dead end and was hoping that someone would have a fix?

Regards
--
Tom

[1]
desktop$ smbclient //server/dfs/share -U tstewart
Password:
Domain=[AD] OS=[Unix] Server=[Samba 3.0.24]
smb: \> ls
  .                                   D        0  Thu Mar 29 10:53:27 2007
  ..                                  D        0  Thu Mar 29 10:50:35 2007
  file                                         0  Thu Mar 29 10:53:27 2007

                34341 blocks of size 2097152. 13584 blocks available
smb: \>
desktop$

[2]
$ cat smb.conf
[global]
        wins server = wins0
        debug pid = yes
        debug level = 10
        debug hires timestamp = yes
        security = ads
        password server = ad.nibsc.ac.uk
        realm = AD.NIBSC.AC.UK
        workgroup = AD
        client use spnego = yes
        winbind trusted domains only = yes
        winbind use default domain = yes
        idmap uid = 10000-10100
        idmap gid = 10000-10100
        host msdfs = yes

[dfs]
        path = /n22/tom/dfs
        msdfs root = yes

[share]
        path = /n22/tom/share
        writeable = yes
        valid users = ad\tstewart

server$ gls -Rla /n22/tom
/n22/tom:
total 19
drwxr-xr-x    4 tstewart other       15872 Mar 29 10:50 .
drwxr-xr-x    7 root     root          512 Jan 12  2006 ..
drwxr-xr-x    2 tstewart other         512 Mar 29 10:53 dfs
drwxr-xr-x    2 tstewart other         512 Mar 29 10:53 share

/n22/tom/dfs:
total 17
drwxr-xr-x    2 tstewart other         512 Mar 29 10:53 .
drwxr-xr-x    4 tstewart other       15872 Mar 29 10:50 ..
lrwxrwxrwx    1 root     other          20 Mar 29 10:53 share ->
msdfs:server\share

/n22/tom/share:
total 17
drwxr-xr-x    2 tstewart other         512 Mar 29 10:53 .
drwxr-xr-x    4 tstewart other       15872 Mar 29 10:50 ..
-rw-r--r--    1 root     other           0 Mar 29 10:53 file
server$

[3]
C:\>net use \\server\dfs
The command completed successfully.

C:\>net use \\server\dfs
Local name
Remote name       \\server\dfs
Resource type     Disk
Status            OK
# Opens           0
# Connections     1
The command completed successfully.

C:\>net use \\server\share
The command completed successfully.

C:\>net use \\server\share
Local name
Remote name       \\server\share
Resource type     Disk
Status            OK
# Opens           0
# Connections     1
The command completed successfully.

C:\>net use \\server\dfs\share
System error 53 has occurred.

The network path was not found.

C:\>

[4]
smbclent:
[2007/03/31 14:42:11.723604, 4, pid=24840] 
smbd/reply.c:reply_tcon_and_X(668)
  Client requested device type [IPC] for share [IPC$]
[2007/03/31 14:42:11.723922, 5, pid=24840] 
smbd/service.c:make_connection(1125)
  making a connection to 'normal' service ipc$
[2007/03/31 14:42:11.724292, 10, pid=24840]
smbd/share_access.c:user_ok_token(229)
  user_ok_token: share IPC$ is ok for unix user tstewart
<SNIP>
[2007/03/31 14:42:12.369439, 5, pid=24846] smbd/uid.c:change_to_user(260)
  change_to_user uid=(0,1544) gid=(0,100)
[2007/03/31 14:42:12.369711, 4, pid=24846] smbd/vfs.c:vfs_ChDir(741)
  vfs_ChDir to /tmp
[2007/03/31 14:42:12.370058, 10, pid=24846]
smbd/trans2.c:call_trans2getdfsreferral(4938)
  call_trans2getdfsreferral
[2007/03/31 14:42:12.370343, 10, pid=24846] smbd/msdfs.c:parse_dfs_path(44)
  temp in parse_dfs_path: .server\share. after trimming \'s
[2007/03/31 14:42:12.370584, 10, pid=24846] smbd/msdfs.c:parse_dfs_path(54)
  parse_dfs_path: hostname: server
[2007/03/31 14:42:12.370860, 10, pid=24846] 
smbd/msdfs.c:setup_dfs_referral(834)
  max_referral_level :3
[2007/03/31 14:42:12.371090, 10, pid=24846]
smbd/msdfs.c:setup_ver3_dfs_referral(711)
  setting up version3 referral
[2007/03/31 14:42:12.371313, 10, pid=24846]
smbd/msdfs.c:setup_ver3_dfs_referral(715)

winxp:
[2007/03/31 15:10:10.616083, 4, pid=25711] 
smbd/reply.c:reply_tcon_and_X(668)
  Client requested device type [?????] for share [DFS]
[2007/03/31 15:10:10.616420, 5, pid=25711] 
smbd/service.c:make_connection(1125)
  making a connection to 'normal' service dfs
[2007/03/31 15:10:10.616768, 10, pid=25711]
smbd/share_access.c:user_ok_token(229)
  user_ok_token: share dfs is ok for unix user tstewart
<SNIP>
[2007/03/31 15:10:24.048596, 5, pid=25711] smbd/uid.c:change_to_user(260)
  change_to_user uid=(0,1544) gid=(0,100)
[2007/03/31 15:10:24.048917, 4, pid=25711] smbd/vfs.c:vfs_ChDir(741)
  vfs_ChDir to /n22/tom/dfs
[2007/03/31 15:10:24.049317, 5, pid=25711] smbd/filename.c:unix_convert(108)
  unix_convert called on file "share"
[2007/03/31 15:10:24.049621, 10, pid=25711]
smbd/statcache.c:stat_cache_lookup(215)
  stat_cache_lookup: lookup failed for name [SHARE]
[2007/03/31 15:10:24.049891, 5, pid=25711] smbd/filename.c:unix_convert(185)
  unix_convert begin: name = share, dirpath = , start = share


More information about the samba mailing list