[GRASS5] Multiuser grass projects

Glynn Clements glynn.clements at virgin.net
Thu Jun 26 19:10:11 EDT 2003


John Harrop wrote:

> What are other people doing with projects/jobs that require multiple
> users to access grass files?  It seems that data permissions are
> enforced at the owner level which stops a group from sharing project
> files.
> 
> Is there a rational for this level of restriction?

My guess is that it's an indirect form of locking. Each user can only
have one session active at a time, each mapset directory can only be
modified by its owner, therefore you can't have multiple sessions
modifying the same mapset concurrently.

Two issues mean that this mechanism isn't particularly reliable:

1. The one-session-at-a-time rule can be circumvented just by changing
the value of HOME (the lock file is $HOME/.gislock5).

2. Nothing prevents a user from running programs in the background.

However, it does prevent users from accidentally shooting each other
in the foot.

> Is there a work-around I'm missing?

Give each user their own mapset. You can read other mapsets, either by
using a fully-qualified map name (map at mapset) or by adding the other
mapsets to the search path with g.mapsets, you just can't write to
them.

You could just remove the ownership check from G__mapset_permissions()
in src/libes/gis/mapset_msc.c. However, you would then need to find
some other way to prevent one user from modifying a mapset which
another is using (e.g. change $GISBASE/etc/Init.sh to create the lock
file in the mapset directory instead of the user's home directory).

-- 
Glynn Clements <glynn.clements at virgin.net>




More information about the grass-dev mailing list