<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.bwhpc.de/wiki/index.php?action=history&amp;feed=atom&amp;title=NEMO2%2FWorkspaces%2FAdvanced_Features%2FSharing</id>
	<title>NEMO2/Workspaces/Advanced Features/Sharing - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.bwhpc.de/wiki/index.php?action=history&amp;feed=atom&amp;title=NEMO2%2FWorkspaces%2FAdvanced_Features%2FSharing"/>
	<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=NEMO2/Workspaces/Advanced_Features/Sharing&amp;action=history"/>
	<updated>2026-04-23T11:56:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=NEMO2/Workspaces/Advanced_Features/Sharing&amp;diff=15776&amp;oldid=prev</id>
		<title>M Janczyk: M Janczyk moved page Workspaces/Advanced Features/Sharing to NEMO2/Workspaces/Advanced Features/Sharing</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=NEMO2/Workspaces/Advanced_Features/Sharing&amp;diff=15776&amp;oldid=prev"/>
		<updated>2026-03-02T19:39:29Z</updated>

		<summary type="html">&lt;p&gt;M Janczyk moved page &lt;a href=&quot;/e/Workspaces/Advanced_Features/Sharing&quot; class=&quot;mw-redirect&quot; title=&quot;Workspaces/Advanced Features/Sharing&quot;&gt;Workspaces/Advanced Features/Sharing&lt;/a&gt; to &lt;a href=&quot;/e/NEMO2/Workspaces/Advanced_Features/Sharing&quot; title=&quot;NEMO2/Workspaces/Advanced Features/Sharing&quot;&gt;NEMO2/Workspaces/Advanced Features/Sharing&lt;/a&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 21:39, 2 March 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>M Janczyk</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=NEMO2/Workspaces/Advanced_Features/Sharing&amp;diff=15611&amp;oldid=prev</id>
		<title>M Janczyk: /* Group Workspaces */</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=NEMO2/Workspaces/Advanced_Features/Sharing&amp;diff=15611&amp;oldid=prev"/>
		<updated>2025-12-02T15:26:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Group Workspaces&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:26, 2 December 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 68:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 68:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use &amp;lt;tt&amp;gt;-G&amp;lt;/tt&amp;gt; for collaborative work where everyone writes data&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Use &amp;lt;tt&amp;gt;-G&amp;lt;/tt&amp;gt; for collaborative work where everyone writes data&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Set &amp;lt;tt&amp;gt;groupname&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;~/.ws_user.conf&amp;lt;/tt&amp;gt; if you always work with the same group&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Set &amp;lt;tt&amp;gt;groupname&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;~/.ws_user.conf&amp;lt;/tt&amp;gt; if you always work with the same group&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;See also: [[Workspaces/Groups|Work with Groups]] guide for more details.&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Sharing with ws_share ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Sharing with ws_share ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>M Janczyk</name></author>
	</entry>
	<entry>
		<id>https://wiki.bwhpc.de/wiki/index.php?title=NEMO2/Workspaces/Advanced_Features/Sharing&amp;diff=15585&amp;oldid=prev</id>
		<title>M Janczyk: Created page with &quot;= Cooperative Usage (Group Workspaces and Sharing) =  When working in teams, workspaces can be shared in multiple ways.  &lt;div style=&quot;border: 3px solid #dc3545; padding: 15px; background-color: #f8d7da; margin: 10px 0;&quot;&gt; &#039;&#039;&#039;WARNING: NEVER use chmod 777 or a+rwx on workspaces!&#039;&#039;&#039;  Do &#039;&#039;&#039;NOT&#039;&#039;&#039; make your workspace readable or writable by everyone (&lt;tt&gt;chmod 777&lt;/tt&gt;, &lt;tt&gt;chmod a+rwx&lt;/tt&gt;, or &lt;tt&gt;chmod o+rwx&lt;/tt&gt;). This is a severe security risk: * Anyone on the system can r...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.bwhpc.de/wiki/index.php?title=NEMO2/Workspaces/Advanced_Features/Sharing&amp;diff=15585&amp;oldid=prev"/>
		<updated>2025-12-02T13:32:42Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Cooperative Usage (Group Workspaces and Sharing) =  When working in teams, workspaces can be shared in multiple ways.  &amp;lt;div style=&amp;quot;border: 3px solid #dc3545; padding: 15px; background-color: #f8d7da; margin: 10px 0;&amp;quot;&amp;gt; &amp;#039;&amp;#039;&amp;#039;WARNING: NEVER use chmod 777 or a+rwx on workspaces!&amp;#039;&amp;#039;&amp;#039;  Do &amp;#039;&amp;#039;&amp;#039;NOT&amp;#039;&amp;#039;&amp;#039; make your workspace readable or writable by everyone (&amp;lt;tt&amp;gt;chmod 777&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;chmod a+rwx&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;chmod o+rwx&amp;lt;/tt&amp;gt;). This is a severe security risk: * Anyone on the system can r...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Cooperative Usage (Group Workspaces and Sharing) =&lt;br /&gt;
&lt;br /&gt;
When working in teams, workspaces can be shared in multiple ways.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;border: 3px solid #dc3545; padding: 15px; background-color: #f8d7da; margin: 10px 0;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;WARNING: NEVER use chmod 777 or a+rwx on workspaces!&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Do &amp;#039;&amp;#039;&amp;#039;NOT&amp;#039;&amp;#039;&amp;#039; make your workspace readable or writable by everyone (&amp;lt;tt&amp;gt;chmod 777&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;chmod a+rwx&amp;lt;/tt&amp;gt;, or &amp;lt;tt&amp;gt;chmod o+rwx&amp;lt;/tt&amp;gt;). This is a severe security risk:&lt;br /&gt;
* Anyone on the system can read, modify, or delete your data&lt;br /&gt;
* Malicious users can inject code into your workspace&lt;br /&gt;
* Your data and results become unreliable&lt;br /&gt;
* You violate security policies and may lose access privileges&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Always use proper sharing methods:&amp;#039;&amp;#039;&amp;#039; Use &amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;-G&amp;lt;/tt&amp;gt; flags, &amp;lt;tt&amp;gt;ws_share&amp;lt;/tt&amp;gt;, or group-based permissions instead.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important:&amp;#039;&amp;#039;&amp;#039; Not all sharing methods are available on all clusters. The availability depends on:&lt;br /&gt;
* Filesystem type and ACL support&lt;br /&gt;
* Cluster-specific workspace tool configuration&lt;br /&gt;
* Unix group setup and permissions&lt;br /&gt;
&lt;br /&gt;
If one sharing method doesn&amp;#039;t work on your cluster, try an alternative approach. The &amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;-G&amp;lt;/tt&amp;gt; flags are most widely supported.&lt;br /&gt;
&lt;br /&gt;
== Group Workspaces ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:40%&amp;quot; | Works on cluster&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | bwUC 3.0&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | BinAC2&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | Helix&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | JUSTUS 2&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | NEMO2&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt; option (group-readable)&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
|style=&amp;quot;background-color:#90EE90; text-align:center;&amp;quot; | ✓&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;-G&amp;lt;/tt&amp;gt; option (group-writable)&lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
|style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
|style=&amp;quot;background-color:#90EE90; text-align:center;&amp;quot; | ✓&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
When a workspace is created with &amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt; it becomes a group workspace that is visible to others with &amp;lt;tt&amp;gt;ws_list -g&amp;lt;/tt&amp;gt; (if in same group), and is group readable:&lt;br /&gt;
&lt;br /&gt;
   $ ws_allocate -g myWs 30&lt;br /&gt;
&lt;br /&gt;
When created with &amp;lt;tt&amp;gt;-G &amp;lt;groupname&amp;gt;&amp;lt;/tt&amp;gt; the workspace becomes writable as well, and gets group sticky bit:&lt;br /&gt;
&lt;br /&gt;
   $ ws_allocate -G projectgroup myWs 30&lt;br /&gt;
&lt;br /&gt;
The group can be specified in the &amp;lt;tt&amp;gt;~/.ws_user.conf&amp;lt;/tt&amp;gt; file as well. See [[Workspaces/Advanced_Features/Reminders|Reminders &amp;amp; Configuration]].&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important:&amp;#039;&amp;#039;&amp;#039; Group members can extend group-writable workspaces (created with &amp;lt;tt&amp;gt;-G&amp;lt;/tt&amp;gt;) even if the original creator is absent:&lt;br /&gt;
&lt;br /&gt;
   $ ws_allocate -x -u &amp;lt;username&amp;gt; &amp;lt;workspace_id&amp;gt; &amp;lt;days&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This requires group write access to the workspace. This is useful when the workspace owner is unavailable and the workspace needs to be extended.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Recommendations:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
* Use &amp;lt;tt&amp;gt;-g&amp;lt;/tt&amp;gt; when team members only need to read your results&lt;br /&gt;
* Use &amp;lt;tt&amp;gt;-G&amp;lt;/tt&amp;gt; for collaborative work where everyone writes data&lt;br /&gt;
* Set &amp;lt;tt&amp;gt;groupname&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;~/.ws_user.conf&amp;lt;/tt&amp;gt; if you always work with the same group&lt;br /&gt;
&lt;br /&gt;
See also: [[Workspaces/Groups|Work with Groups]] guide for more details.&lt;br /&gt;
&lt;br /&gt;
== Sharing with ws_share ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:40%&amp;quot; | Works on cluster&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | bwUC 3.0&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | BinAC2&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | Helix&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | JUSTUS 2&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | NEMO2&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;ws_share&amp;lt;/tt&amp;gt; command (ACL-based)&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
|style=&amp;quot;background-color:#90EE90; text-align:center;&amp;quot; | ✓&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
With &amp;lt;tt&amp;gt;ws_share&amp;lt;/tt&amp;gt; you can share workspaces with users outside your group, using ACLs (if supported by underlying filesystem).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; This feature requires ACL support on the filesystem. If &amp;lt;tt&amp;gt;ws_share&amp;lt;/tt&amp;gt; doesn&amp;#039;t work on your cluster, use manual ACL commands (&amp;lt;tt&amp;gt;setfacl&amp;lt;/tt&amp;gt;) or fall back to Unix group permissions.&lt;br /&gt;
&lt;br /&gt;
=== Share workspace with users ===&lt;br /&gt;
&lt;br /&gt;
   $ ws_share share myWs username1 username2    # Grant read access to one or more users&lt;br /&gt;
   $ ws_share share -F filesystem myWs user1    # Share on specific filesystem&lt;br /&gt;
&lt;br /&gt;
=== Unshare workspace from users ===&lt;br /&gt;
&lt;br /&gt;
   $ ws_share unshare myWs username1            # Remove access from specific user(s)&lt;br /&gt;
   $ ws_share unshare-all myWs                  # Remove access from all users&lt;br /&gt;
&lt;br /&gt;
=== List users with access ===&lt;br /&gt;
&lt;br /&gt;
   $ ws_share list myWs                         # Show all users with read access&lt;br /&gt;
&lt;br /&gt;
These operations are applied to all files and directories in the workspace.&lt;br /&gt;
&lt;br /&gt;
=== Options ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;-F &amp;lt;filesystem&amp;gt;&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--filesystem&amp;lt;/tt&amp;gt;: Specify the workspace filesystem&lt;br /&gt;
* &amp;lt;tt&amp;gt;-h&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;--help&amp;lt;/tt&amp;gt;: Show help message&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Recommendation:&amp;#039;&amp;#039;&amp;#039; Use &amp;lt;tt&amp;gt;ws_share&amp;lt;/tt&amp;gt; for selective sharing with individual users, especially when they are not in your Unix group.&lt;br /&gt;
&lt;br /&gt;
== ACLs: Access Control Lists ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:40%&amp;quot; | Works on cluster&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | bwUC 3.0&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | BinAC2&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | Helix&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | JUSTUS 2&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | NEMO2&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;setfacl&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;getfacl&amp;lt;/tt&amp;gt; (ACLs)&lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;text-align:center;&amp;quot; | &lt;br /&gt;
|style=&amp;quot;background-color:#90EE90; text-align:center;&amp;quot; | ✓&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
ACLs (Access Control Lists) provide fine-grained permission control beyond standard Unix permissions. They allow sharing with specific users and groups, and support default ACLs that new files automatically inherit.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; ACL support varies by filesystem. Not all clusters support ACLs on workspace filesystems. If ACL commands fail, use regular Unix permissions instead.&lt;br /&gt;
&lt;br /&gt;
=== Key advantages ===&lt;br /&gt;
&lt;br /&gt;
* Share with specific users (not just groups)&lt;br /&gt;
* Default ACLs - new files automatically inherit permissions&lt;br /&gt;
* More flexible than Unix permissions&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Note:&amp;#039;&amp;#039;&amp;#039; ACLs take precedence over standard Unix permissions. View ACLs with &amp;lt;tt&amp;gt;ls -l&amp;lt;/tt&amp;gt; (shown as &amp;quot;+&amp;quot; after permissions).&lt;br /&gt;
&lt;br /&gt;
=== Quick Examples ===&lt;br /&gt;
&lt;br /&gt;
Set workspace path in variable:&lt;br /&gt;
&lt;br /&gt;
   $ DIR=$(ws_find my_workspace)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;View current ACLs:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
   $ getfacl &amp;quot;$DIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important note on syntax:&amp;#039;&amp;#039;&amp;#039; In all commands below, &amp;lt;tt&amp;gt;user:&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;group:&amp;lt;/tt&amp;gt; are &amp;lt;tt&amp;gt;setfacl&amp;lt;/tt&amp;gt; keywords. Replace &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; with the actual user login name (e.g., &amp;lt;tt&amp;gt;alice&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;jdoe&amp;lt;/tt&amp;gt;) and &amp;lt;tt&amp;gt;groupname&amp;lt;/tt&amp;gt; with the actual Unix group name (e.g., &amp;lt;tt&amp;gt;bw11a000&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Grant read-only access to a user:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
   $ setfacl -Rm user:username:rX,default:user:username:rX &amp;quot;$DIR&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   # Example with actual username:&lt;br /&gt;
   $ setfacl -Rm user:alice:rX,default:user:alice:rX &amp;quot;$DIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Grant read-write access to a user:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
   $ setfacl -Rm user:username:rwX,default:user:username:rwX &amp;quot;$DIR&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   # Example with actual username:&lt;br /&gt;
   $ setfacl -Rm user:jdoe:rwX,default:user:jdoe:rwX &amp;quot;$DIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Grant read-only access to a group:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
   $ setfacl -Rm group:groupname:rX,default:group:groupname:rX &amp;quot;$DIR&amp;quot;&lt;br /&gt;
   &lt;br /&gt;
   # Example with actual groupname:&lt;br /&gt;
   $ setfacl -Rm group:bw11a000:rX,default:group:bw11a000:rX &amp;quot;$DIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Remove all ACLs:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
   $ setfacl -Rb &amp;quot;$DIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Key Options ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;-R&amp;lt;/tt&amp;gt;: Apply to all files and subdirectories&lt;br /&gt;
* &amp;lt;tt&amp;gt;-m&amp;lt;/tt&amp;gt;: Modify (add or change ACL entries)&lt;br /&gt;
* &amp;lt;tt&amp;gt;-b&amp;lt;/tt&amp;gt;: Remove all ACL entries&lt;br /&gt;
* &amp;lt;tt&amp;gt;user:username:rwX&amp;lt;/tt&amp;gt;: Set permissions for specific user (replace &amp;lt;tt&amp;gt;username&amp;lt;/tt&amp;gt; with actual login)&lt;br /&gt;
* &amp;lt;tt&amp;gt;group:groupname:rwX&amp;lt;/tt&amp;gt;: Set permissions for specific group (replace &amp;lt;tt&amp;gt;groupname&amp;lt;/tt&amp;gt; with actual group)&lt;br /&gt;
* &amp;lt;tt&amp;gt;default:&amp;lt;/tt&amp;gt; prefix: New files inherit these ACLs automatically&lt;br /&gt;
* &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt;: Read permission&lt;br /&gt;
* &amp;lt;tt&amp;gt;w&amp;lt;/tt&amp;gt;: Write permission&lt;br /&gt;
* &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt;: Execute only on directories and already-executable files (capital X)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important:&amp;#039;&amp;#039;&amp;#039; Always use the &amp;lt;tt&amp;gt;default:&amp;lt;/tt&amp;gt; prefix to ensure new files get the correct permissions automatically.&lt;br /&gt;
&lt;br /&gt;
=== Recommendation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Always prefer &amp;lt;tt&amp;gt;ws_allocate -G&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;ws_share&amp;lt;/tt&amp;gt; first.&amp;#039;&amp;#039;&amp;#039; Use manual ACLs only for complex scenarios like:&lt;br /&gt;
* Sharing with specific users outside your group&lt;br /&gt;
* Different permissions for different users&lt;br /&gt;
* Fine-grained control not possible with &amp;lt;tt&amp;gt;-G&amp;lt;/tt&amp;gt; or &amp;lt;tt&amp;gt;ws_share&amp;lt;/tt&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Regular Unix Permissions ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|- &lt;br /&gt;
!style=&amp;quot;width:40%&amp;quot; | Works on cluster&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | bwUC 3.0&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | BinAC2&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | Helix&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | JUSTUS 2&lt;br /&gt;
!style=&amp;quot;width:10%&amp;quot; | NEMO2&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;tt&amp;gt;chmod&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;chgrp&amp;lt;/tt&amp;gt; (Unix permissions)&lt;br /&gt;
|style=&amp;quot;background-color:#90EE90; text-align:center;&amp;quot; | ✓&lt;br /&gt;
|style=&amp;quot;background-color:#90EE90; text-align:center;&amp;quot; | ✓&lt;br /&gt;
|style=&amp;quot;background-color:#90EE90; text-align:center;&amp;quot; | ✓&lt;br /&gt;
|style=&amp;quot;background-color:#90EE90; text-align:center;&amp;quot; | ✓&lt;br /&gt;
|style=&amp;quot;background-color:#90EE90; text-align:center;&amp;quot; | ✓&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Use standard Unix permissions with &amp;lt;tt&amp;gt;chmod&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;chgrp&amp;lt;/tt&amp;gt; when you and your collaborators share a common Unix group.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CRITICAL WARNING:&amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NEVER use chmod 777 or a+rwx&amp;#039;&amp;#039;&amp;#039; - makes your data accessible to everyone on the system&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;NEVER use chmod o+rwx or chmod o+w&amp;#039;&amp;#039;&amp;#039; - allows anyone to modify or delete your files&lt;br /&gt;
* Only set group permissions (&amp;lt;tt&amp;gt;g+r&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;g+w&amp;lt;/tt&amp;gt;) for your specific research group&lt;br /&gt;
&lt;br /&gt;
=== Quick Examples ===&lt;br /&gt;
&lt;br /&gt;
Set workspace path in variable:&lt;br /&gt;
&lt;br /&gt;
   $ DIR=$(ws_find my_workspace)&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Read-only access for group:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
   $ chgrp -R mygroup &amp;quot;$DIR&amp;quot;&lt;br /&gt;
   $ chmod -R g+rX &amp;quot;$DIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Read-write access for group:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
   $ chgrp -R mygroup &amp;quot;$DIR&amp;quot;&lt;br /&gt;
   $ chmod -R g+rswX &amp;quot;$DIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Key Options ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;tt&amp;gt;-R&amp;lt;/tt&amp;gt;: Apply to all files and subdirectories&lt;br /&gt;
* &amp;lt;tt&amp;gt;g+r&amp;lt;/tt&amp;gt;: Group read permission&lt;br /&gt;
* &amp;lt;tt&amp;gt;g+w&amp;lt;/tt&amp;gt;: Group write permission&lt;br /&gt;
* &amp;lt;tt&amp;gt;g+x&amp;lt;/tt&amp;gt;: Group execute permission&lt;br /&gt;
* &amp;lt;tt&amp;gt;X&amp;lt;/tt&amp;gt;: Execute only on directories and already-executable files (capital X)&lt;br /&gt;
* &amp;lt;tt&amp;gt;s&amp;lt;/tt&amp;gt;: Setgid bit (set-group-ID) - new files inherit the directory&amp;#039;s group ownership&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Important:&amp;#039;&amp;#039;&amp;#039; The setgid bit (&amp;lt;tt&amp;gt;g+s&amp;lt;/tt&amp;gt;) ensures new files belong to the correct group, but their permissions depend on your &amp;lt;tt&amp;gt;umask&amp;lt;/tt&amp;gt;. With the default umask (&amp;lt;tt&amp;gt;0022&amp;lt;/tt&amp;gt;), new files will NOT be group-writable automatically. You must either:&lt;br /&gt;
* Set &amp;lt;tt&amp;gt;umask 0002&amp;lt;/tt&amp;gt; in your shell so new files are group-writable by default, OR&lt;br /&gt;
* Manually run &amp;lt;tt&amp;gt;chmod g+w&amp;lt;/tt&amp;gt; on new files, OR&lt;br /&gt;
* Use ACLs with &amp;lt;tt&amp;gt;default:&amp;lt;/tt&amp;gt; entries (which override umask and handle permissions automatically)&lt;br /&gt;
&lt;br /&gt;
=== Recommendation ===&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Always prefer &amp;lt;tt&amp;gt;ws_allocate -G groupname&amp;lt;/tt&amp;gt; over manual Unix permissions.&amp;#039;&amp;#039;&amp;#039; It handles everything automatically and correctly, including the sticky bit and proper permissions on all new files.&lt;br /&gt;
&lt;br /&gt;
Use manual &amp;lt;tt&amp;gt;chmod&amp;lt;/tt&amp;gt;/&amp;lt;tt&amp;gt;chgrp&amp;lt;/tt&amp;gt; only when &amp;lt;tt&amp;gt;-G&amp;lt;/tt&amp;gt; is not available on your cluster or for fixing permissions on existing data.&lt;/div&gt;</summary>
		<author><name>M Janczyk</name></author>
	</entry>
</feed>