I came across this question while searching for answers for my GROUP PERMISSION problem. I've read the question and It seems I am already implementing what the question tries to accomplish.
So I bothered to answer it.
I have already a setup up of a share for all users on my lan with read and execute only, and only my account has the permission to write on the shared folders.
I have a multi-purpose server on my lan that uses ubuntu 12.04 LTS Desktop Edition. I have a mix client machines of linux and windows.
Heres how I have set it up:
1.On my server, I have user accounts named admin
and clientone
The admin
account is the account created when I installed ubuntu and the clientone
account is the account created using the USER ACCOUNTS menu in ubuntu. It only has a standard permission, no admin priveleges and it is added to the users
group. You may of course do these using only the terminal. Add more additional user accounts for your client machines.
2.The shared partition/folder is automounted in fstab using only the defaults option.
3.My network is in a workgroup environment, and It is on mylan
workgroup.
All machines in my lan is set to use the mylan
workgroup.
4.My shared folder named shared
already have files in it. So I change the owner and group for it recursively using the command below.
sudo chown -Rv admin:users /shared
5.I also set folder and file permission to /shared
folder recursively using the command
sudo chmod -Rv 750 /shared
guest machines in my mylan
workgroup does not have access to the share using chmod 750
you may use
sudo chmod -Rv 755 /shared
All future user accounts within the users
group only has read execute permission.
6.In my client machine one (windows xp) I setup a user account named clientone
. The same user name and password as with the one created in my ubuntu server. A second account named clienttwo
is also created in ubuntu server and it's the same user account used in my second machine (linuxmint 15).
7.In my client machine one upon logging in using the clientone
account, I go to run command then enter
//192.168.10.254/shared
192.168.10.254
is the ip address of my ubuntu server, /shared
is the folder shared in my ubuntu server In my client machine two (linuxmint 15), I go to Menu > Network and in the Location: dialog bar I typed in:
smb://192.168.10.254/shared
If you were prompted for password, enter your user accoun'ts password. And also your keyring password if KEYRING is enable in your linux machines.
This one works for me in my own network setup. My server is a multi purpose server serving as squid server, xbmc and mediatomb server and amahi server.
I am still looking ways on how to improve the file sharing part of my setup. The instruction above is not a bullet proof solution, buy you may try it out. I test and try the ACL” thing together with auto mounting shared folders. As your folder sharing requirement gets complicated, the above instruction will not guaranty you success.
Added Info:
I have Amahi Server installed in my server, I also used it to create user accounts that I wanted to have access to the shared folders. I also used it to create new folder shares.
When you want more complex user permission for different users, ACL is the one to go.
chmod -R g+s /parentdir
. Note: runchmod -R
prior to this if needed-R
flag tochmod
is very rarely useful because we seldom want directories (which always need some execute permission) and regular files (which rarely need any execute permission) to have the same permissions