2

I'm trying to set up a Samba share that is only accessible by a particular user. I'd like that user to have read/write access to all files in the share.

The smb.conf file below will let me access the share through the one user 'patrick' but I can't get write access to work - I cannot modify or delete files on the mounted share via windows. The user does have the proper permissions set for the directory per below.

How can I enable read/write access? I do not want to change the directory/file permissions to 0777 like many of the other forum posts would suggest.

Directory permissions:

drwxr-xr-x   6 patrick patrick  4096 Jul  3  2015 ./
drwxr-xr-x   3 root    root     4096 Jul  1  2015 ../
drwxrwxr-x+ 15 patrick patrick 65536 Jan 22 00:01 music/

The smb.conf file:

[global]
   workgroup = WORKGROUP
        server string = %h server (Samba, Ubuntu)

#   wins support = no
   dns proxy = no
   log file = /var/log/samba/log.%m
   max log size = 1000
   syslog = 0
   panic action = /usr/share/samba/panic-action %d
   server role = standalone server
   passdb backend = tdbsam
   obey pam restrictions = yes
   unix password sync = yes
   passwd program = /usr/bin/passwd %u
   passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
   pam password change = yes
   map to guest = never

   usershare allow guests = no

[Music]
   comment = Music on Ceres
   path = /mnt/largemarge/music
   valid users = patrick
   browseable = yes
   guest ok = no
   read only = no
   create mask = 0775
   directory mask = 0755
   force user = patrick
2

After hours of searching, I discovered that the share name and the share directory cannot be the same (and it's not case-sensitive, either). See this post on serverfault.

So, if I change my share name in smb.conf from:

[Music]

to

[Tunes]

I can both read and write to the share. No other changes to my smb.conf were necessary, and no need to chmod 0777.

  • Can anyone find where the above constraint is documented in the samba man pages? I was unable to find it. – the_meter413 Jan 24 '16 at 6:43
  • I doubt this is a constraint: on my system, all defined shares (with different access rights) have Share name = Directory name. Exemples: [ze] writeable = yes path = /partages/ze I guess it is rather a limitation on specific directories. – Marc Vanhoomissen Jan 27 '16 at 14:08
0

I've also documented that the Share name and Directory name cannot be the same or the share will be visible and read-only despite the permissions. When the Share name is modified to be different than the Directory (or Disk) name it will become writeable assuming it and the user have the correct permissions.

I found this with NTFS disks and folders mounted in Ubuntu that had been previously shared under NTFS using the same Share names. Win and Linux sharing tools both default to the directory or disk name for their share name during creation so the conflict is built-in by default. Simply adding a character to the Linux Share name made it writeable.

This may or may not be true if the disk or directory are not NTFS or are NTFS but have never been shared. It appears that previously-used NTFS share names are reserved when mounted in Ubuntu and Linux deals with the conflict by making the share read-only.

An NTFS directory share named \My Music simply renamed \My Muzak in Ubuntu is enough to make the directory writeable.

  • Is there any added information in this answer, that was not covered in the answer from Jan 24 2016? – Charles Green Jun 27 '17 at 15:03
0

In Homes:

# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
;   read only = yes

so have you tried "read only = no" to your shares? or "writeable = yes"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.