As I don't see any proper reason for your error, I would propose a slightly different syntax.
First I will create a new directory as root (to be sure root can create it) and then mount the share with slightly different options. Here are the commands (they should all succeed):
sudo mkdir /mnt/smb_share
sudo touch /mnt/smb_share/test && sudo rm -f /mnt/smb_share/test && echo "Permissions are OK"
sudo mount -t cifs //(hostname)/share /mnt/smb_share -o user=Ben,domain=(WORKGROUP)
The mount command should ask you for your Samba user Ben password. I have removed the uid and gid options just to remove some "noise". With this command you should be able to verify that you can mount the share. Of course you need to replace:
- (hostname) by the share server hostname. If it does not work with the hostname, try again but use the IP address instead;
- (WORKGROUP) by your workgroup or domain.
If this work. Try unmounting the share and remounting it with uid only:
sudo umount /mnt/smb_share
sudo mount -t cifs //(hostname)/share /mnt/smb_share -o user=Ben,domain=(WORKGROUP),uid=ben
If this is working, add the gid, then add the rw and then finally add the password option (step by step). So you can identify which of the options is not understood.