[GRASS-user] access denied to MAPSET in linux

Glynn Clements glynn at gclements.plus.com
Wed Aug 7 13:09:12 PDT 2013

António Rocha wrote:

> I'm tryging to access a Location/mapset located in a folder (where I 
> have write/execute/read permission) but the mapset and location were not 
> created by me. When I run grass I get permission denied. How can I get 
> access or how can the original user of the mapset can give access 
> permission to other users?

In order to select a mapset as the current mapset (where new maps are
stored), the user must be the owner of the mapset directory. Write
permission is not sufficient.

You can access maps in any mapset for which you have the necessary
permissions, i.e. read permission on files, read and execute
permissions on directories.

Maps in a mapset other than the current mapset can be accessed using
the map at mapset syntax, or by adding the other mapset(s) to the mapset
search path using g.mapsets.

If you want to "take over" an existing location or mapset, you can
change the owner with "chown" if you have root access. If you don't
have root access but have write permission on the directory and all
subdirectories, you can create a copy (which you will own) then delete
the original and rename the copy.

If you have write permission on the mapset directory but lack write
permission on any non-empty subdirectories, you can still make a copy
(and rename both the original and the copy) but you will not be able
to delete the original directory.

One of the main reasons why GRASS implements the ownership check is to
prevent users from trying to create group-writable mapsets and
encountering this situation.

In the latest SVN versions, the ownership check can be suppressed, but
this is only intended as workaround for single-user systems with
"foreign" filesystems (e.g. FAT) which don't have ownership
information. It is not safe on a multi-user system.

Glynn Clements <glynn at gclements.plus.com>

More information about the grass-user mailing list