<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 03:27:45 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-16524] Limit capabilities of local admin</title>
                <link>https://jira.whamcloud.com/browse/LU-16524</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;We might need to support the use case of a &apos;local&apos; admin, that is root on the client, also root on Lustre to achieve some tasks such as changing files&apos; owner or group (so root squash cannot be used) but still restricted in some privileged actions (e.g. lfs commands).&lt;/p&gt;</description>
                <environment></environment>
        <key id="74300">LU-16524</key>
            <summary>Limit capabilities of local admin</summary>
                <type id="4" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="1">Fixed</resolution>
                                        <assignee username="sebastien">Sebastien Buisson</assignee>
                                    <reporter username="sebastien">Sebastien Buisson</reporter>
                        <labels>
                            <label>patch</label>
                            <label>sec</label>
                    </labels>
                <created>Thu, 2 Feb 2023 08:33:51 +0000</created>
                <updated>Mon, 5 Jun 2023 18:56:42 +0000</updated>
                            <resolved>Sat, 20 May 2023 12:14:21 +0000</resolved>
                                    <version>Lustre 2.16.0</version>
                                    <fixVersion>Lustre 2.16.0</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>6</watches>
                                                                            <comments>
                            <comment id="361328" author="gerrit" created="Thu, 2 Feb 2023 09:31:24 +0000"  >&lt;p&gt;&quot;Sebastien Buisson &amp;lt;sbuisson@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/49873&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/49873&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16524&quot; title=&quot;Limit capabilities of local admin&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16524&quot;&gt;&lt;del&gt;LU-16524&lt;/del&gt;&lt;/a&gt; nodemap: add rbac property to nodemap&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 2b87dae7d926b0c244c75cde5cb0a1fac7c55a84&lt;/p&gt;</comment>
                            <comment id="361676" author="gerrit" created="Mon, 6 Feb 2023 08:20:50 +0000"  >&lt;p&gt;&quot;Sebastien Buisson &amp;lt;sbuisson@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/49907&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/49907&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16524&quot; title=&quot;Limit capabilities of local admin&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16524&quot;&gt;&lt;del&gt;LU-16524&lt;/del&gt;&lt;/a&gt; sec: enforce rbac roles&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: fdd15c6a7af7bc0569b1d342c78b0d4b622ed7a5&lt;/p&gt;</comment>
                            <comment id="364717" author="gerrit" created="Thu, 2 Mar 2023 16:35:48 +0000"  >&lt;p&gt;&quot;Sebastien Buisson &amp;lt;sbuisson@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50184&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50184&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16524&quot; title=&quot;Limit capabilities of local admin&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16524&quot;&gt;&lt;del&gt;LU-16524&lt;/del&gt;&lt;/a&gt; sec: add fscrypt_admin rbac role&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 5958dcbea1ded00b645da117f6f68cf86ba6168f&lt;/p&gt;</comment>
                            <comment id="365040" author="sihara" created="Tue, 7 Mar 2023 05:58:31 +0000"  >&lt;p&gt;here is mount failure after patch &lt;a href=&quot;https://review.whamcloud.com/#/c/fs/lustre-release/+/50184/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/#/c/fs/lustre-release/+/50184/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;nodemap configuration&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;lctl nodemap_activate 0

lctl nodemap_del trusted
lctl nodemap_del tenant100

lctl nodemap_modify --name default --property trusted --value 0
lctl nodemap_modify --name default --property admin --value 0
lctl nodemap_modify --name default --property deny_unknown --value 1

lctl nodemap_add trusted
lctl nodemap_add_range --name trusted --range 192.168.200.[1-254]@tcp
lctl nodemap_modify --name trusted --property trusted --value 1
lctl nodemap_modify --name trusted --property admin --value 1
lctl nodemap_modify --name trusted --property deny_unknown --value 0

lctl nodemap_add tenant100
lctl nodemap_add_range --name tenant100 --range 192.168.100.[1-254]@tcp
lctl nodemap_modify --name tenant100 --property admin --value 0

lctl nodemap_activate 1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;make sure nid belongs to nodemap &quot;tenant100&quot;&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[root@server ~]#  lctl nodemap_test_nid 192.168.100.2@tcp
tenant100
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;On client (192.168.100.2@tcp)&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;root@client:~# lnetctl net show
net:
    - net type: lo
      local NI(s):
        - nid: 0@lo
          status: up
    - net type: tcp
      local NI(s):
        - nid: 192.168.100.2@tcp
          status: up
          interfaces:
              0: enp5s0

root@client:~# mount -t lustre 192.168.200.2@tcp:/lustre /lustre
mount.lustre: mount 192.168.200.2@tcp:/lustre at /lustre failed: Permission denied
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;syslog shows below&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;Mar  7 05:28:59 client-tenant100 kernel: [3934814.817595] LustreError: 226554:0:(llite_lib.c:711:client_common_fill_super()) lustre-clilmv-ffff9df1ccbbe000: md_getattr failed for root: rc = -13
Mar  7 05:28:59 client-tenant100 kernel: [3934814.851720] Lustre: Unmounted lustre-client
Mar  7 05:28:59 client-tenant100 kernel: [3934814.852581] LustreError: 226554:0:(super25.c:187:lustre_fill_super()) llite: Unable to mount &amp;lt;unknown&amp;gt;: rc = -13
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Without patches, mount worked as expected even same nodemap policy applied.&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;root@client:~# mount -t lustre 192.168.200.2@tcp:/lustre /lustre
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="365051" author="sebastien" created="Tue, 7 Mar 2023 08:32:27 +0000"  >&lt;p&gt;Thanks Shuichi for the heads-up.&lt;/p&gt;

&lt;p&gt;Could you please dump the whole nodemap configuration with this command, as I really need to know how it is setup?&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;# lctl get_param -R &apos;nodemap.*&apos;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;In particular, could you please check that the squashed UID and GID do exist on client and server sides, with this command, run on both client and server sides?&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;# id &amp;lt;squashed uid and gid&amp;gt;
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;Moreover, how is configured identity upcall?&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;# lctl get_param mdt.*-MDT*.identity_upcall
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Patch &lt;a href=&quot;https://review.whamcloud.com/50184&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/50184&lt;/a&gt; is the topmost one in a series of 3 patches. When you say &quot;without patches&quot;, does it mean you are rebuilding without just #50184, or you are also removing #49907 and #49873? By the way, are you using the tip of master branch? Can you please provide the reference to your current HEAD?&lt;br/&gt;
It is also important for me to understand how the problem you see happens. Are you reformatting after rebuilding, and so starting with a brand new file system, or was it formatted before, and then it is upgraded?&lt;/p&gt;

&lt;p&gt;Thanks,&lt;br/&gt;
Sebastien.&lt;/p&gt;</comment>
                            <comment id="365061" author="sihara" created="Tue, 7 Mar 2023 12:14:12 +0000"  >&lt;p&gt;This different behavior (not able to mount if root is squashed) changes was after patch 50184 applied.&lt;/p&gt;

&lt;p&gt;with patch 49907&#160; here is lctl get_param -R &apos;nodemap.*&apos; &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/48360/48360_lctl-get_param-nodemap-49907.txt&quot; title=&quot;lctl-get_param-nodemap-49907.txt attached to LU-16524&quot;&gt;lctl-get_param-nodemap-49907.txt&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[root@server ~]# lctl get_param mdt.*-MDT*.identity_upcall
mdt.lustre-MDT0000.identity_upcall=NONE
mdt.lustre-MDT0001.identity_upcall=NONE

root@client:~# id 99 
id: &#8216;99&#8217;: no such user

root@client:~# mount -t lustre 192.168.200.2@tcp:/lustre /lustre
root@client:~# ls /lustre  ls: cannot access &apos;/lustre&apos;: Permission denied
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;client was able to mount, it can&apos;t access filesystem.&lt;/p&gt;

&lt;p&gt;with patch 50184 lctl get_param -R &apos;nodemap.*&apos; is attached &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;https://jira.whamcloud.com/secure/attachment/48361/48361_lctl-get_param-nodemap-50184.txt&quot; title=&quot;lctl-get_param-nodemap-50184.txt attached to LU-16524&quot;&gt;lctl-get_param-nodemap-50184.txt&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;https://jira.whamcloud.com/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;[root@server ~]# lctl get_param mdt.*-MDT*.identity_upcall
mdt.lustre-MDT0000.identity_upcall=NONE
mdt.lustre-MDT0001.identity_upcall=NONE

[root@server ~]# id 99
id: &#8216;99&#8217;: no such user

root@client:~# id 99
id: &#8216;99&#8217;: no such user

root@client:~# mount -t lustre 192.168.200.2@tcp:/lustre /lustre
mount.lustre: mount 192.168.200.2@tcp:/lustre at /lustre failed: Permission denied
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;client was not able to mount even identity_upcall=NONE.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;It is also important for me to understand how the problem you see happens. Are you reformatting after rebuilding, and so starting with a brand new file system, or was it formatted before, and then it is upgraded?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;When new build installed, I reformmated all OST/MDTs and re-applied nodemap setting below all time.&lt;/p&gt;
&lt;div class=&quot;preformatted panel&quot; style=&quot;border-width: 1px;&quot;&gt;&lt;div class=&quot;preformattedContent panelContent&quot;&gt;
&lt;pre&gt;lctl nodemap_activate 0

lctl nodemap_del trusted
lctl nodemap_del tenant100

lctl nodemap_modify --name default --property trusted --value 0
lctl nodemap_modify --name default --property admin --value 0
lctl nodemap_modify --name default --property deny_unknown --value 1

lctl nodemap_add trusted
lctl nodemap_add_range --name trusted --range 192.168.200.[1-254]@tcp
lctl nodemap_modify --name trusted --property trusted --value 1
lctl nodemap_modify --name trusted --property admin --value 1
lctl nodemap_modify --name trusted --property deny_unknown --value 0

lctl nodemap_add tenant100
lctl nodemap_add_range --name tenant100 --range 192.168.100.[1-254]@tcp
lctl nodemap_modify --name tenant100 --property admin --value 0

lctl nodemap_activate 1
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="365246" author="gerrit" created="Wed, 8 Mar 2023 10:31:22 +0000"  >&lt;p&gt;&quot;Sebastien Buisson &amp;lt;sbuisson@ddn.com&amp;gt;&quot; uploaded a new patch: &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50230&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50230&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16524&quot; title=&quot;Limit capabilities of local admin&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16524&quot;&gt;&lt;del&gt;LU-16524&lt;/del&gt;&lt;/a&gt; nodemap: filter out unknown records&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_15&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: cc28404fc05d36d7bdb55c032fd84adb84799511&lt;/p&gt;</comment>
                            <comment id="365256" author="sebastien" created="Wed, 8 Mar 2023 14:53:57 +0000"  >&lt;p&gt;I have been testing that further, and found an interesting behavior. Without any &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16524&quot; title=&quot;Limit capabilities of local admin&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16524&quot;&gt;&lt;del&gt;LU-16524&lt;/del&gt;&lt;/a&gt; patches applied, it is not possible for a squashed root to mount the client if the squash uid or gid does not exist on server side, when SELinux is enabled on the client (either Permissive or Enforced). This is because the client will issue a &lt;tt&gt;getxattr&lt;/tt&gt; request for &lt;tt&gt;security.selinux&lt;/tt&gt;, and on server side user credentials are checked for a getxattr.&lt;/p&gt;

&lt;p&gt;With &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16524&quot; title=&quot;Limit capabilities of local admin&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16524&quot;&gt;&lt;del&gt;LU-16524&lt;/del&gt;&lt;/a&gt; patches applied (especially #50184), even when SELinux is not enabled on the client, it is not possible for a squashed root to mount the client if the squash uid or gid does not exist on server side. This is because patch #50184 adds a user credentials check on &lt;tt&gt;getattr&lt;/tt&gt;.&lt;/p&gt;

&lt;p&gt;So I agree patch #50184 introduces a behavior change (only when SELinux is not enabled on the client), but I am not shocked to proceed to a user credentials check on &lt;tt&gt;getattr&lt;/tt&gt;. Moreover, it is questionnable to mount a client as a mis-configured root (a squashed root with its squashed uid or gid that does not exist on server side), given that no further operation is possible on the file system. I would tend to think this is a nodemap configuration error and it should not be supported.&lt;/p&gt;</comment>
                            <comment id="366782" author="gerrit" created="Tue, 21 Mar 2023 23:35:13 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/49873/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/49873/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16524&quot; title=&quot;Limit capabilities of local admin&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16524&quot;&gt;&lt;del&gt;LU-16524&lt;/del&gt;&lt;/a&gt; nodemap: add rbac property to nodemap&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 5e48ffca322c3c72d3b83b0719f245fc6f13c8e4&lt;/p&gt;</comment>
                            <comment id="366784" author="gerrit" created="Tue, 21 Mar 2023 23:35:26 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/49907/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/49907/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16524&quot; title=&quot;Limit capabilities of local admin&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16524&quot;&gt;&lt;del&gt;LU-16524&lt;/del&gt;&lt;/a&gt; sec: enforce rbac roles&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 971e025f5fb77f4eaaa1e9070598dfa6292a9678&lt;/p&gt;</comment>
                            <comment id="366786" author="gerrit" created="Tue, 21 Mar 2023 23:36:09 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50184/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50184/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16524&quot; title=&quot;Limit capabilities of local admin&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16524&quot;&gt;&lt;del&gt;LU-16524&lt;/del&gt;&lt;/a&gt; sec: add fscrypt_admin rbac role&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 22bef9b6c64ef394a2efb41ce1388be71300af0d&lt;/p&gt;</comment>
                            <comment id="368987" author="gerrit" created="Tue, 11 Apr 2023 00:07:44 +0000"  >&lt;p&gt;&quot;Oleg Drokin &amp;lt;green@whamcloud.com&amp;gt;&quot; merged in patch &lt;a href=&quot;https://review.whamcloud.com/c/fs/lustre-release/+/50230/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://review.whamcloud.com/c/fs/lustre-release/+/50230/&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16524&quot; title=&quot;Limit capabilities of local admin&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-16524&quot;&gt;&lt;del&gt;LU-16524&lt;/del&gt;&lt;/a&gt; nodemap: filter out unknown records&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: b2_15&lt;br/&gt;
Current Patch Set: &lt;br/&gt;
Commit: 170ddaa96bdddea32a7c48ddacefc53d961cc783&lt;/p&gt;</comment>
                            <comment id="370402" author="adilger" created="Mon, 24 Apr 2023 21:49:15 +0000"  >&lt;p&gt;Sebastien, does it make sense for subdirectory mounts that the squashed root on the client is still able to chown/chmod/chgrp for files in the subdirectory tree &lt;b&gt;IF&lt;/b&gt; they are for UID/GID/PROJID mapped in the nodemap  (excluding root itself)?  Similarly, it should only be possible for the squashed root to adjust quotas for UID/GID/PROJIDs that are mapped by the nodemap.&lt;/p&gt;

&lt;p&gt;That would allow the root user on the client to do normal admin tasks for files in that project/container, without needing to grant them &quot;real&quot; root access to the filesystem itself (i.e. &lt;tt&gt;admin=1&lt;/tt&gt;).&lt;/p&gt;

&lt;p&gt;I think doing the mapped UID/GID/PROJID lookup is fast (this is already done for every RPC) so the only extra check would be whether it was the squashed root user on the client.  Maybe an extra &quot;&lt;tt&gt;squashed_admin=1&lt;/tt&gt;&quot; setting or similar?&lt;/p&gt;</comment>
                            <comment id="370901" author="adilger" created="Fri, 28 Apr 2023 07:27:47 +0000"  >&lt;p&gt;Is there anything left to do on this ticket, or should it be marked Resolved/Fixed?  My last comment/question about restricting RBAC admin operations to IDs within the nodemap could be addressed in a separate ticket,  though it would be nice to also get this into the 2.16 release so that the behavior is consistent.&lt;/p&gt;</comment>
                            <comment id="370905" author="sebastien" created="Fri, 28 Apr 2023 08:36:22 +0000"  >&lt;p&gt;Hi Andreas,&lt;/p&gt;

&lt;p&gt;If I understand correctly your comment in &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-16524?focusedCommentId=370402&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-370402&quot; class=&quot;external-link&quot; rel=&quot;nofollow&quot;&gt;https://jira.whamcloud.com/browse/LU-16524?focusedCommentId=370402&amp;amp;page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-370402&lt;/a&gt;, that would consist in extending the capabilities of a squashed (root) user so that it can still modify file permissions and owners and quotas, &lt;b&gt;if&lt;/b&gt; they correspond to a mapped uid/gid/projid.&lt;/p&gt;

&lt;p&gt;It seems to be quite the opposite idea of what we implemented with this ticket. The rbac roles are designed to limit the powers of not-squashed root, by preventing modifications of file permissions and owners (&lt;tt&gt;file_perms&lt;/tt&gt; role), or quota modifications (&lt;tt&gt;quota_ops&lt;/tt&gt; role) for instance.&lt;/p&gt;

&lt;p&gt;I am not saying that extending the capabilities of a squashed (root) user would not be an interesting feature to have. But I think it is a different approach that should be tackled under a different ticket.&lt;/p&gt;</comment>
                            <comment id="370919" author="adilger" created="Fri, 28 Apr 2023 11:20:16 +0000"  >&lt;p&gt;You are right, this would be somewhat the opposite approach, with the benefit that it would &quot;grant&quot; select privileges to the tenant admin, starting from &quot;nothing&quot; that the regular user has, so would be more &quot;fail safe&quot;.  The current approach will take away privileges from a root user, but risks that something was missed, or is added in the future that does not add RBAC roles/checks and cannot be squashed/removed.&lt;/p&gt;

&lt;p&gt;That said, it definitely belongs in a different ticket so that this one can be marked resolved..&lt;/p&gt;</comment>
                            <comment id="373045" author="pjones" created="Sat, 20 May 2023 12:14:21 +0000"  >&lt;p&gt;Seems like this body of work has merged for 2.16&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                                        </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="48360" name="lctl-get_param-nodemap-49907.txt" size="2308" author="sihara" created="Tue, 7 Mar 2023 12:04:14 +0000"/>
                            <attachment id="48361" name="lctl-get_param-nodemap-50184.txt" size="2287" author="sihara" created="Tue, 7 Mar 2023 12:04:13 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                            <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|i03brz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>9223372036854775807</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10060" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Severity</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10022"><![CDATA[3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        </customfields>
    </item>
</channel>
</rss>