Velvet Star Monitor

Standout celebrity highlights with iconic style.

general

How do I mount a CIFS share via FSTAB and give full RW to Guest

Writer Matthew Harrington

I want to create a Public folder that has full RW access. The problem with my configuration is that Windows users have no issues as guests (they can RW and Delete), my Ubuntu client can't do the same. We can only write and read, but not create or delete.

Here is the my smb.conf from my server:

[global] workgroup = WORKGROUP netbios name = FILESERVER server string = TurnKey FileServer os level = 20 security = user map to guest = Bad Password passdb backend = tdbsam null passwords = yes admin users = root encrypt passwords = true obey pam restrictions = yes pam password change = 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* . add user script = /usr/sbin/useradd -m '%u' -g users -G users delete user script = /usr/sbin/userdel -r '%u' add group script = /usr/sbin/groupadd '%g' delete group script = /usr/sbin/groupdel '%g' add user to group script = /usr/sbin/usermod -G '%g' '%u' guest account = nobody syslog = 0 log file = /var/log/samba/samba.log max log size = 1000 wins support = yes dns proxy = no socket options = TCP_NODELAY panic action = /usr/share/samba/panic-action %d
[homes] comment = Home Directory browseable = no read only = no valid users = %S
[storage] create mask = 0777 directory mask = 0777 browseable = yes comment = Public Share writeable = yes public = yes path = /srv/storage

The following FSTAB entry doesn't yield full R/W access to the share.

//192.168.0.5/storage /media/myname/TK-Public/ cifs rw 0 0

This doesn't work either

//192.168.0.5/storage /media/myname/TK-Public/ cifs rw,guest,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0

Using the following location in Nemo/Nautilus w/o the Share being mounted does work:

smb://192.168.0.5/storage/

Extra info. I just noticed that if I copy a file to the share after mounting, my Ubuntu client immediately make "nobody" be the owner, and the group "no group" has read and write, with everyone else as read-only.

enter image description here

What am I doing wrong?

1

4 Answers

Turns out that I need to add a local (client) UID to the mount line in FSTAB to make this work. I arrived at this via sheer brute force:

//192.168.0.5/storage /media/myname/TK-Public/ cifs guest,uid=myuser,iocharset=utf8,file_mode=0777,dir_mode=0777,noperm 0 0
6

You are almost there. Open FSTAB by using:

sudo nano /etc/fstab

In the last line ( or on of the last lines) place:

//192.168.0.5/storage /media/myname/TK-Public/ cifs username=YOURUSERNAME,password=YOURPASSWORD,iocharset=utf8,file_mode=0777,dir_mode=0777

*** (this is all one long line)

Ctrl-X to close, Y to save and Enter to seal the deal.

Now reboot by:

sudo reboot

And you should have full control of the network share on your Linux device!

2

CIFS does not generally have any concept of user and group, so mounting a cifs share will default to showing user and group as 'nobody':

drwxdrwxdrwx. 3 nobody nobody 0 Sep 29 09:00 .
drwxdrwxdrwx. 9 nobody nobody 0 Sep 29 09:00 ..

Since you are not 'nobody' Linux will not let you write to anything that doesn't have 0777 permission unless you use sudo. To fix this, add uid=mylogin,gid=mygroup to fstab and it will make the share appear as if it is your own directory:

drwxdrwxdrwx. 3 mylogin mygroup 0 Sep 29 09:00 .
drwxdrwxdrwx. 9 mylogin mygroup 0 Sep 29 09:00 ..

You now have full control without the need for sudo.

This not not actually changing anything on the server, since the server is not enforcing anything. It is telling Linux to pretend that you are the owner and give you unrestricted access.

3

I had this problem and it was because the user of the share did not own it. I fixed it with "sudo chown {username}:{groupname} /{share}/{path}" after that I could move and delete files.

0