Samba Client for Windows – smbclient.exe – v3.6.25

So in reference to getting Pydio working on a Windows Server 2012 R2 machine with IIS 8.5 I found that I wanted a workspace in Pydio to access a existing share on a 2012 R2 file server. I have a lot of files I don’t want duplicated on both servers. Now there are many workspace drivers available but since Pydio was designed originally for a *nix system the main way to access a Windows server is through Samba. Windows Server supports SMB, server message blocks, for file sharing among other things. Now on a *nix system you can just install Samba and then Pydio can use the Samba client to remotely access the Windows server. Problem is I want to use Samba on a Windows server to access another Windows server. So I started a hunt to find a ported version of the Samba client and it resulted in two pages out of the millions out there: https://smithii.com/samba which had ported all of Samba v3.0.23 over and https://www.leepa.io/lpackham/smbclient/ which had ported just the v3.0.7 client. So I started testing these clients and long story short they have issues with Windows servers. Mainly you can get directory listings using them and even pull files but you cannot create files nor push files to the Windows file server. After some research its due to changes, mainly security related, in the Windows servers SMB implementation….changes that were fixed in newer versions of Samba (https://www.samba.org/).

So I determined that the only possible way to get my Pydio install to access my existing Windows file server was to either use the FTP over SSH plugin and enable this on my file server, which I didn’t want to do, or figure out a way to compile the Samba client using the latest source. After lots of trail and error I was able to partially compile Samba 3.6.25 using Cygwin (https://www.cygwin.com/) but where it failed was after it had built the smbclient.exe that I needed. I took the client and copied it to the server and tried running it from a command prompt and it complained about needing some Cygwin DLL files which was expected. I copied over the DLL files it needed to the server and was able to connect to the file server. I then updated Pydio to use my newly compiled smbclient.exe and Pydio now works as expected allowing e to share out a existing share from another server. The best part is since user credentials are passed through the existing NTFS permissions still apply on top of Pydios own permission checks.

Not sure if anyone in the world will ever need it but just in case here it is: smbclient.zip. Keep in mind you will need to install Cygwin on the same machine and at the very least copy the DLL files it needs out of C:\cygwin\bin to the directory with the client.

9 thoughts on “Samba Client for Windows – smbclient.exe – v3.6.25

    1. I’m glad someone other then me will be using it. Please try the updated guide and let me know how it worked out. Also if you end up having a 2016 windows file share I’d be curious to know if the samba client can access that successful.

      1. Hi Man i’m trying to use it on my machine, but it’s said that the application cannot start correctly.
        can you please upload the working directroy to githb or to share it with me somehow?
        10x

        1. Due to the licensing I don’t think I can upload the Cygwin binaries. You’ll have to follow the guide to download and install Cygwin which will give you the libraries (DLL files) you’ll need and then try running it again.

  1. Thanks a lot. I was searching exactly for that option. Please give me a hint where I have to copy the smblient.exe to or where its defined in PHP/Pydio whatever.. I’ve not much experience on Webservers.. Thanks for help

  2. Make sure to install cygwin packages openssh, libopenldap2_4_2, libattr1 in order to resolve the dll dependancies for samba (EG cygcom_err-2.dll, cyglber-2-4-2.dll)

  3. Getting a version of smbclient.exe that is enabled for SMB3 encryption would be ideal. I’ve tried the build of 4.6, but it crashes on perl components.

    I think the minimum version that will do this is 4.1.

    1. Unfortunately Samba v4+ changed to a new build system. I have tried unsuccessfully to build a 4+ client on Windows and have given up after wasting 30+ hours on it.

Leave a Reply

Your email address will not be published. Required fields are marked *