[GRASS-user] how to enable write access for the UNIX group?

Glynn Clements glynn at gclements.plus.com
Sun Sep 23 20:01:20 EDT 2007


Maciej Sieczka wrote:

> How do enable members of a UNIX group to have write access to shared
> GRASS locations/mapsets from GRASS?
> 
> To check if that's possible with umask, I do:
> 
> $ umask 6
> $ grass63
> (setup new location, create mapsets)
> 
> The location and mapsets directories are created with 771 rights. The
> dbf subdir too. WIND, DEFAULT_WIND, MYNAME, .gislock and .bashrc files
> are created with 660. Good. But, any newly created mapset elements
> (subdirs for vectors, raster etc.) still have only read access for the
> group. Do GRASS commands ignore umask setting?

They shouldn't. Any libgis functions which create directories use
G_mkdir(), which uses 0777. The only references to chmod() are for the
session directory (/tmp/grass6-<user>-<pid> on Unix) and G_rc_path(). 
There are no calls to umask() in libgis.

Similarly, the raster files are created as 0666, while the vector
library uses G_fopen_new(), which uses G__open(), which uses 0666.

FWIW, I can't reproduce the problem:

$ rm -rf /opt/grass-data/spearfish57/glynn/windows
$ umask 0000
$ g.region save=foo
$ ls -ld /opt/grass-data/spearfish57/glynn/windows
drwxrwxrwx 2 glynn users 4096 Sep 24 00:58 /opt/grass-data/spearfish57/glynn/windows/
$ ls -l /opt/grass-data/spearfish57/glynn/windows
total 4
-rw-rw-rw- 1 glynn users 287 Sep 24 00:58 foo
$ umask 0022
$ rm -rf /opt/grass-data/spearfish57/glynn/windows
$ g.region save=foo
$ ls -ld /opt/grass-data/spearfish57/glynn/windows
drwxr-xr-x 2 glynn users 4096 Sep 24 00:58 /opt/grass-data/spearfish57/glynn/windows/
$ ls -l /opt/grass-data/spearfish57/glynn/windows
total 4
-rw-r--r-- 1 glynn users 287 Sep 24 00:58 foo

-- 
Glynn Clements <glynn at gclements.plus.com>




More information about the grass-user mailing list