Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: rewrote the "Group permissions for Lustre filesystems" section

...

Column
width900px


Code Block
languagebash
themeDJango
titleTerminal 1. Listing file permissions
$> ls -l
$> -rwxr--r--+  1 user group 253 Jul 01 2018 test.sh


...

If a directory has the group-sticky attribute, new files copied to the directory will change to have the same group as the directory. This is useful when installing applications under /software. If a directory does not have the group-sticky attribute, then new files copied to the directory will change to have the group of the user who copied the files. This can be useful in /scratch if you do not want other members of the project group to be able to access, modify or delete files. Some file transfer programs (like WinSCP) by default will ignore a group-sticky bit. You can either edit the program’s configuration or fix the permissions after the upload.

...

File ownership and permissions for Lustre filesystems

Quotas for filesystems such as /scratch are per-project, and files There are quotas set on a per-user and per-project basis for the /software filesystem, and a quota set on a per-user basis on the /scratch filesystem. Files must belong to the appropriate user and group to be created in or copied to a project directorycorrectly counted against the quotas, as well as ensure consistent read/write/execute permissions.

If you encounter a write quota error while writing, compiler errorcompiling, or file transfer error on transferring files on /software, it is most likely that this is because the files are counting against your personal group quota rather than your project's group quota. Common causes of this issue are:

  • Moving files from /home instead of copying them
  • Using the -a or -p flag with cp or rsync
  • An incorrectly configured scp client

A tool called fix.group.permission.sh lets you fix file and directory permissions on /software. This script is provided in the pawseytools module, which is loaded by default. To use it, run the following command:

$ fix.group.permission.sh $PAWSEY_PROJECT

with PAWSEY_PROJECT being the project code. Note that you may have to redefine the variable if you belong to more than one project.If there is a singular file that needs to be fixed, you can change which group it belongs to by using the chgrp command.

If there are a large number of files that need to be fixed, then you can use the find command instead.

Below are examples, line 1 shows chgrp to fix a single file and line 2 shows the use of the find command to fix the files in your /software directory. The <myproject> part must be replaced with your project code (e.g. pawsey0123) and <myfile> is the name of the file (if you're changing just a single file).

Column
width900px


Code Block
languagebash
themeDJango
titleTerminal 2. Fixing file group
linenumberstrue
> chgrp <myproject> <myfile>
> find /software/projects/<myproject>/$USER/ -group $USER -exec chgrp <myproject> {} \;



Anchor
text editors
text editors
Text editors

...