|
1 | 1 | # Sharing Data on HPC |
2 | 2 |
|
3 | 3 | ## Introduction |
4 | | -To share files on the cluster with other users, we recommend using NFSv4 access control lists (ACL) for a user to share access to their data with others. NFSv4 ACL mechanism allows for fine-grained control access to any files by any users or groups of users. We discourage users from setting `777` permissions with `chmod`, because this can lead to data loss (by a malicious user or unintentionally, by accident). The following commands are available: |
| 4 | +To share files on the cluster with other users, we recommend using NFSv4 Access Control Lists (ACL) for a user to share access to their data with others. NFSv4 ACL mechanism allows for fine-grained control access to any files by any users or groups of users. We discourage users from setting `777` permissions with `chmod`, because this can lead to data loss (by a malicious user or unintentionally, by accident). |
| 5 | + |
| 6 | +:::note |
| 7 | +Torch supports NFSv4 ACLs rather than the POSIX ACLs supported by Greene! NFSv4 ACLs allow for more fine grained control when compared to POSIX ACLs. |
| 8 | +::: |
| 9 | + |
| 10 | +An Access Control List is composed of Access Control Entries, each of which has the following structure: |
| 11 | +``` |
| 12 | +[type]:[flags]:[principal]:[permissions] |
| 13 | +``` |
| 14 | +- `type`: kind of ACE entry, we recommend only using `A` (access). Deny type entries make the ACE more complex to reason about when compared to using only access type entries for the same configuration. We strongly urge you to not use them. |
| 15 | +- `flags`: inheritance flags which apply to directories and control how ACEs are inherited, with the following available: |
| 16 | + - `f`: files inherit ACEs, but inheritance flags are not set on the files |
| 17 | + - `d`: directories inherit both the ACE and the inheritance flags |
| 18 | + - `i`: only inherit the inheritance flags, ACEs do not apply to this directory |
| 19 | + - `n`: directories only inherit ACEs, not the inheritance flags |
| 20 | + and a special `g` flag that is only used when the principal is a group. |
| 21 | +- `principal`: the user or group to apply the ACE to. Note the presence of special principals `OWNER`, `GROUP` (which refer to the owner and default group) and `EVERYONE`. |
| 22 | +- `permissions`: the level of access to grant. Aliases for most common uses include: |
| 23 | + - `R`: Read, alias for `rntcy` |
| 24 | + - `W`: Write, alias for `watTNcCy` |
| 25 | + - `X`: Execute, alias for `watTNcCy` |
| 26 | + the full set of permission entry types are listed below for reference. |
| 27 | + |
| 28 | + |
| 29 | +The following commands are available: |
5 | 30 | - `nfs4_setfacl` to set ACEs |
6 | 31 | - `nfs4_editfacl` to edit ACEs |
7 | 32 | - `nfs4_getfacl` to view ACLs |
0 commit comments