[GRASS-dev] mapset permissions: only owner should have write permissions

Markus Metz markus.metz.giswork at gmail.com
Tue Jul 16 01:42:46 PDT 2013


On Mon, Jul 15, 2013 at 5:55 PM, Glynn Clements
<glynn at gclements.plus.com> wrote:
>
> Markus Metz wrote:
>
>> >From within GRASS, only the owner of a mapset is allowed to start a
>> GRASS session in this mapset, i.e. only the owner of a mapset has
>> write permissions to this mapset. But a new mapset being a folder in
>> the file system is created with mode 0777, thus granting write
>> permissions to all. I suggest to change mode from 0777 to 0755 in
>> G_mkdir() and add mode = 0755 in gis_set.py. Any objections?
>
> I don't see why GRASS should be special in this regard.
>
> The convention is that programs should allow the user to control read
> and write permissions via the umask, while execute permission is
> determined by the program.

In this case, would it be ok to enforce umask to 0022 in the start up script?

>
> Programs creating files containing particularly-sensitive information
> (e.g. encryption keys) may reasonably impose more restrictive
> permissions.

With grass data on a network drive with multi-user access, I would
regard e.g. the contents of the PERMANENT mapset as
particularly-sensitive information.

>
> GRASS already includes its own ownership check to prevent users from
> shooting each other in the foot with shared directories (by creating
> subdirectories which the owner cannot remove). So I don't really see
> any reason to enforce the policy a second time through filesystem
> permissions.

An inexperienced user trying to make a backup of a grass dataset,
syncing the wrong way...

Anyway, I withdraw my suggestion to use 0755 as default mode for
mkdir(path, mode). It's probably safer to enforce the system's default
mask directly.

Markus M


More information about the grass-dev mailing list