Public Directories

Dag Sverre Seljebotn dagss at student.matnat.uio.no
Thu Jun 15 11:02:18 BST 2006


My story with public directories.

What our users are used to is being able to simply move files somewhere, 
and then others have access. No permissions to care about etc.

When people are working together on a project, I think they are more 
likely to think of the sticky bit as a problem than a feature (why can't 
A delete a file that B created if they are cooperating closely?)

So what we have is simple: However a file ends up in a directory, it 
should end up with changed group, owner, and permissions.

(But we do NOT have one big public directory, rather seperate 
directories for different groups, and group membership is required for 
access. Things are a bit different then).

However, umasks affect permissions, using mv rather than cp affects 
permissions, moving a file in the same partition or between partitions 
or over the network or with nautilus etc. give different permissions. 
And it's way too much to ask the users assign permissions manually.

I tried making the setup we needed using ACLs, Unix permissions etc. but 
didn't find a configuration the just worked the "simple" way users 
expected. So I hacked it with a python script:

http://folk.uio.no/dagss/dirmonitor/

Basically a monitor that uses FAM to monitor files and enforces certain 
permissions below certain directory. So when a file is placed in 
/group/A, it gets "chmod 660 ...; chown nobody:A ..."

End result: People gets added to a group, and then gets access to their 
group's folder in nautilus and everybody in the group can use it just as 
if it was their own (I have a "/group" folder containing symlinks to all 
group folders, and all home dirs have a symlink to "/group" called 
"Shared folders").

I'm sure it is not nice, not in line with Unix tradition, etc. But it 
works, and users are happy.

Dag Sverre








More information about the ubuntu-devel mailing list