Recipe 5.10 Sharing Files Using Groups

5.10.1 Problem

Two or more users want to share files, both with write privileges.

5.10.2 Solution

Create a group containing only those users, say, smith, jones, and ling:

/etc/group: friends:x:200:smith,jones,ling

Create the shared file in a directory writable by this group:

jones$ cd jones$ mkdir share jones$ chmod 2770 share jones$ chgrp friends share jones$ ls -ld share drwxrws---    2 jones   friends    4096 Apr 18 20:17 share/ jones$ cd share jones$ touch myfile jones$ chmod 660 myfile jones$ ls -l myfile -rw-rw----    1 jones   friends       0 Apr 18 20:18 myfile

Users smith and ling can now enter the directory and modify jones's file:

smith$ cd ~jones/share smith$ emacs myfile

5.10.3 Discussion

smith, jones, and ling should consider setting their umasks so files they create are group writable, e.g.:

$ umask 007 $ touch newfile $ ls -l newfile -rw-rw----    1 smith         0 Jul 17 23:09 newfile

The setgid bit on the directory (indicated by mode 2000 for chmod, or "s" in the output from ls -l) means that newly created files in the directory will be assigned the group of the directory. The applies to newly created subdirectories as well.

To enable this behavior for an entire filesystem, use the grpid mount option. This option can appear on the command line:

# mount -o grpid ...

or in /etc/fstab:

/dev/hdd3   /home   ext2    rw,grpid    1 2

5.10.4 See Also

group(5), chmod(1), chgrp(1), umask(1).



Linux Security Cookbook
Linux Security Cookbook
ISBN: 0596003919
EAN: 2147483647
Year: 2006
Pages: 247

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net