Sharing Data with Other Users
Using Agave storage systems, such as the CyVerse central data store (data.iplantcollaborative.org), it is easy to share data with others users.
As a data sharing demonstration, we will use the
sequence12.fasta file uploaded previously in this tutorial.
If you do not have that file, either upload it now, or work with a file of your own.
To list the permissions on an existing file on the remote storage system, issue:
The output should look similar to:
dooley READ WRITE EXECUTE ipcservices READ WRITE rodsadmin READ WRITE username READ WRITE EXECUTE
username refers to your CyVerse username.
The Agave CLI has a nice set of tools that can be used to find other users.
View your own user profile by issuing:
profiles-list -v me
You can search for your colleagues either by name (
-N), e-mail address (
-E), or username (
-U), provided they have credentials with the same tenant:
profiles-list -v -N "My Collaborator" profiles-list -v -E "firstname.lastname@example.org" profiles-list -v -U my_collaborator
Once the username of the target person is known, permissions can be updated by performing the following:
files-pems-update -U my_collaborator -P ALL username/sequence12.fasta files-pems-list username/sequence12.fasta
dooley READ WRITE EXECUTE ipcservices READ WRITE rodsadmin READ WRITE my_collaborator READ WRITE EXECUTE username READ WRITE EXECUTE
Now, a user with CyVerse username
my_collaborator has permissions to access the file.
Valid values for setting permission with the
-P flag are READ, WRITE, EXECUTE, READ_WRITE, READ_EXECUTE, WRITE_EXECUTE, ALL, and NONE.
This same action can be performed recursively on directories using the
Note: If you are sharing data from a private storage system, follow the steps below:
If you are sharing a file from a private storage system, the collaborator needs the correct permissions to access it as well. To see who has access to your storage system, perform:
The response should look similar to:
To add your collaborator to your system, use the
systems-roles-addupdate -u my_collaborator -r GUEST my-storage-system
Listing the roles again, you should now see your collaborator as a GUEST:
systems-roles-list data-tacc-work-username my_collaborator GUEST username OWNER
Valid values for setting a role with the -r flag are GUEST, USER, PUBLISHER, ADMIN, and OWNER.
Finally, ask your collaborator to download the file with the exact same command you use to download the file:
% files-get -S my-storage-system path_to/my_shared/file.txt
Sharing Data using PostIts
Another convenient way to share data is the Agave postits service.
Postits generate a short URL with a user-specified lifetime and limited number of uses.
Anyone with the URL can paste it into a web browser, or curl against it on the command line.
Continuing with the above example file (
sequence12.fasta) located on the CyVerse central data storage system, the process to create a postit to that file is as follows:
postits-create -m 5 -l 3600 https://agave.iplantc.org/files/v2/media/system/data.iplantcollaborative.org//username/seqence12.fasta
The json response from this command is the URL, e.g.:
This postit is only good for 5 downloads (
-m 5) and only available for one hour (3600 seconds,
-l 3600). The creator of the postit can list and delete their postits with the following commands:
postits-list -V postits-delete 866d55b36a459e8098173655e916fa15
The long alphanumeric string is the postit UUID displayed by the verbose postits-list command.
|Back to: README||Next: Using Monitors to Track System Health|