FreeNAS not allowing any hosts, even when specifying them

network-attached-storageserver-message-blocktruenas

I just setup a new FreeNAS .7.2 box with two 1TB drives mirrored. Configuration seems solid and I can even browse the SMB shares I created from any computer on the network. However when I try to add a folder or drop a file to be uploaded I get the message that I don't have proper permissions.

I don't want to authenticate users, I want it to be open. I have anonymous authentication setup in the config for the SMB service and the hosts allow and hosts deny field is blank. I even added the ip address of the computer I was trying to upload from to the HOSTS ALLOWED field and I still get the permissions error (I even confirmed the changes). I've changed this to be local user authentication and want to use a global user.

Is there something I'm missing? I can browse the shares fine, but I can't upload or create folders.

BIG EDIT:
I'm not sure if I should make a new post for this or not, but here goes:
I decided to give up on anonymous access. Everything I tried and you guys suggested just didn't work. Also I'm not fond of manually editing the smb.conf because if I do, and then change permissions or users in the webgui, it resets all my manually changed settings.

I went in and set authentication to Local User and created a user for all connecting clients. I put them in the wheel group which has full read, write and execute permissions for the mount point (see screenshot http://imgur.com/m4N5b). This works on existing shares in the mount. I can view, add folders, add files, etc to all existing shares. Now if I add a new share, I can browse it, but I cant add files or folders. The shares are exactly the same and should have the same permissions. It doesn't make sense to me. Here's the config, the [Backup] share works and I can read, edit, execute. The [Storage] share I can only read.

[global]
#max protocol = smb2
encrypt passwords = yes
netbios name = freenas
workgroup = WORKGROUP
server string = FreeNAS Server
security = user
dns proxy = no
# Settings to enhance performance:
use sendfile = yes
strict locking = no
read raw = yes
write raw = yes
oplocks = yes
max xmit = 65535
deadtime = 15
getwd cache = yes
socket options = TCP_NODELAY SO_SNDBUF=64240 SO_RCVBUF=64240 
# End of performance section
unix charset = UTF-8
store dos attributes = yes
local master = yes
time server = yes
guest account = ftp
display charset = LOCALE
max log size = 10
syslog only = yes
syslog = 1
load printers = no
printing = bsd
printcap name = /dev/null
disable spoolss = yes
log level = 1
dos charset = CP437
smb passwd file = /var/etc/private/smbpasswd
private dir = /var/etc/private
passdb backend = tdbsam

[Backups]
comment = Any Backup Files
path = /mnt/mnt1/Backup/
writeable = yes
printable = no
veto files = /.snap/
hide dot files = yes
guest ok = no
inherit permissions = yes

[Storage]
comment = Storage for Files
path = /mnt/mnt1/Storage/
writeable = yes
printable = no
veto files = /.snap/
hide dot files = yes
guest ok = no
inherit permissions = yes

If I create any new shares then I only have read access. Like I said it doesn't make sense to me. Any light shed on the subject will be appreciated.

Thanks for all your help by the way. Sorry for shifting gears so quick on this question.

Best Answer

When a windows computer connects to a windows server it first tries the currently logged in username with a null password first. If server back end does not recognize the username it will fall back and give you anonymous access.

eg. if bob tries to connect to a network share then windows will first try connecting with the username bob before giving a login box

FreeNAS is based on SAMBA though and it acts a little different. If the user is unknown to the system, the default behavior is to deny access.

So what needs to be done is to mimic this behavior and any connection attempts with a unknown username get anonymous access.

So you will need to modify the SAMBA config to map unknown users (bob) to the nobody account and then create an account called 'nobody' that has no password

This way when bob tries to connect the server does not recognize the username bob so it falls back to anonymous

To map unknown users to the guest account, add this configuration to the globals

[global]
    #...
    guest account = nobody
    map to guest = bad user

Then Create a User called 'nobody' without a password and you should be able to access the share anonymously.

EDIT

Also change

[global] 
   security = user

and make the nobody user by running this command from Shell (via ssh or telnet or something)

User$ smbpasswd -an nobody