sorry if the title is not so useful, but I don't thoroughly understand what the problem even is here.
I just set up Samba on a file server to simplify things for the Windows users (previously, Windows users had used sftp via filezilla - not near as convenient as a more native approach). For the purposes of testing, I just set up two shares. One is a globally-readable, globally-writable share that's used as a common dumping ground. The other one I would like to be the homes share. so I have something like this in the smb.conf:
[shared] path = /var/shared public = yes browsable = yes read only = no [homes] read only = no
I then set up a samba account and tried it out. 'shared' works perfectly, but when I try and map a network drive to 'homes' I'm told that the name couldn't be found. I thought it was just a problem with the way I had the homes share set up, so I replaced it with this:
[test] path = /var/www ; chosen at random browsable = yes read only = no
and then I try that out. I get the exact same problem. So I take a look in the samba log, and here's where it gets odd:
process_usershare_file: stat of /var/lib/samba/usershares/tes failed. No such file or directory.
Note that the 'tes' is not a typo on my part. In fact, I change the name of the share a few times, and every time what appears in the log is
/var/lib/samba/usershares/ followed by the name of the share minus the last character.
It appears that Samba is for some reason failing to find the share and falling back to checking the usershares folder, and on top of that it's checking the usershares folder for a slightly corrupted share name. Note that there are no configuration directives related to usershares in my smb.conf, so I guess they must be enabled by default. Furthermore, it does this any time that you try and authenticate.
Some general info: this is a Debian 7.0 box, I'm trying to connect from a Windows 8 machine, and at the authentication prompt on the client I've been entering the username with a preceeding backslash to prevent it sending a domain (or I guess force it to send an empty domain). I'm not sure if this is the correct approach here but it's worked for me in the past.