[Samba] Authentication problems using libsmbclient API and DFS
shares
simo
idra at samba.org
Fri Apr 6 13:19:12 GMT 2007
You should really re-post this to samba-technical at samba.org, there you
will have some more devs looking at it.
Simo.
On Fri, 2007-04-06 at 04:32 -0600, rbrowne at estreet.com wrote:
>
> Hi,
>
> I'm trying to create a map of DFS links to actual
> server/share's. I know that you can get this information by logging
> on to the DFS root server, but I'm trying to use the libsmbclient API to
> get this information.
>
> I have created a fairly simple DFS
> structure on 2003 servers with everything on the same domain.
>
>
> //MyDomain/DFSRoot
> /Link1 -> //Fileserv-1/FileShare1
>
> /Link2 -> //Fileserv-2/FileShare2
>
> On the command line I
> can traverse the DFS tree without any problems, so using smbclient I can
> perform the following steps:
>
> # smbclient //10.4.1.107/DFSRoot
> -A ./credfile
> Domain=[ENG-DEV] OS=[Windows Server 2003 3790]
> Server=[Windows Server 2003 5.2]
> smb: \> ls
>
> .
> D 0 Thu Mar 29 12:52:3
> 2007
> ..
> D 0 Thu Mar 29 12:52:35
> 2007
> Link1
> D 0 Thu Mar 29 12:46:43
> 2007
> Link2
> D 0 Thu Mar 29 12:52:35
> 2007
>
>
>
> 65389 blocks of size 65536. 36670 blocks available
> smb: \>
> showconnect
> //Fileserv-1/DFSRoot
>
> smb: \> cd Link1
> smb: \Link1\> ls
>
> .
> D 0 Thu Mar 29 12:43:19
> 2007
> ..
> D 0 Thu Mar 29 12:43:19
> 2007
>
> List.xls
> A 25088 Sat Jan 7 23:03:18 2006
> .
> .
> .
>
>
> smb: \Link1\> showconnect
>
> //Fileserv-1/FileShare1
>
> smb: \Link1\> cd ../Link2
>
> smb: \Link2\> ls
>
> .
> D 0 Thu Mar 29 12:40:14
> 2007
> ..
> D 0 Thu Mar 29 12:40:14
> 2007
>
> abs-guide.pdf
> A 2069818 Thu Mar 29 12:39:04 2007
> .
> .
> .
>
> sag.pdf
> A 869300 Thu Mar 29 12:40:14 2007
>
>
>
> 65389 blocks of size 65536. 36659 blocks available
> smb: \Link2\>
> showconnect
> //Fileserv-2/FileShare2
> smb: \Link2\>
>
>
>
> However, problems ensue when I try to connect using the
> smbc_open and smbc_opendir functions. Tracing execution under gdb I
> see that my authentication callback function is being called every time I
> use the smbc_opendir function (that's good). I can authenticate
> without any problems to the DFS root, but the problem occurs when Samba
> tries to traverse the DFS tree. In this case the original
> server/share (i.e. of the DFS root) is not the server/share of the DFS
> link. When the code follows the path of the link, all the original
> authentication information is lost. My username, password, and
> workgroup are all changed to my Unix username and the workgroup that I've
> defined in smb.conf. I'm prompted for a password from the do_connect
> function and authentication to the server/share fails.
>
> One
> difference between the two scenarios is that in the first case the
> cli_cm_set_credentials function is being called in the second case it's
> not. I'm not sure, but should the authentication callback function
> be used when resolving a DFS path? I'm still looking into where the
> defaults are set and if it's possible to get authentication info that's
> not statically defined.
>
> I also saw that I can define the
> /etc/samba/smbusers to map a Unix user name to a Windows login and tried
> this, but my default username is still the Unix one. I also
> uncommented the username map line in smb.conf.
>
> Thanks for
> looking at this...
>
> Regards,
>
> Rich �
--
Simo Sorce
Samba Team GPL Compliance Officer
email: idra at samba.org
http://samba.org
More information about the samba
mailing list