How to organize a shared storage space

From RCSWiki
Revision as of 16:06, 9 July 2024 by Dmitri (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Access to a shared space on the ARC cluster, such as /work/pi_lab, is controlled by a Unix group. This is one of the level of Unix permissions controls.

Please read our Wiki article on Linux Permissions (same as Unix).

Regarding the general organization in the shared space, it is a good idea to have personal directories, as well as common read-only and writable spaces.

A lot of responsibility for having good collaboration goes to the users themselves.

The following structure is one of a better ways to approach some generic shared space:

drwxrws--- pi_user pi_lab  common
drwxr-s--- pi_user pi_lab  software
drwxr-s--- pi_user pi_lab  reference
drwxr-s--- user1   pi_lab  user1
drwxr-s--- user2   pi_lab  user2
....

Key points about this structure:

  • Access to this space is controlled by the pi_lab Unix group.
  • pi_user is either the groups PI, or somebody from the lab who can do some IT management for the lab.
  • There is read only shared access space for software, as well as for reference information that is not going to be changed.
  • Then, there is a common space where everyone from your group can write.
  • Every lab member directory is only writable by the owner, but readable by every other member of the group.
  • Please note that the set-group-ID permission is set on the directories. This is to ensure that the group belonging is properly set on the data inside those directories.


This should work for many cases. However, the success also depends on every user respecting this pattern of permissions inside their user spaces. If somebody creates a directory or a file with more restrictive permissions, then other users will not be able to access that data. It is a power that creates a corresponding responsibility.