<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:51:27 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-5434] Invalid system.posix_acl_access breaks permissions enforcement</title>
                <link>https://jira.whamcloud.com/browse/LU-5434</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;With a ZFS MDT it is possible to create files and directories with invalid &quot;empty&quot; ACLs.  We have observed that this can lead to permission denied errors when access should be granted based on group membership.  More specifically, if a directory has an invalid &lt;tt&gt;system.posix_acl_access&lt;/tt&gt; xattr, a user may be unexpectedly denied access to it.  If the root user populates the local cache by listing the directory, the non-root user is no longer denied access, at least until caches are dropped.&lt;/p&gt;

&lt;p&gt;The console session below demonstrates the behavior.  First we create an invalid default ACL using setfattr.  Then we create a subdirectory which inherits the invalid ACL in &lt;tt&gt;system.posix_acl_access&lt;/tt&gt;.  A user then gets permission denied for the new subdirectory until root lists it.&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;# hype356 /p/lcratery/bass6 &amp;gt; chown bass6:fstest .
# hype356 /p/lcratery/bass6 &amp;gt; chmod 750 .
# hype356 /p/lcratery/bass6 &amp;gt; setfattr -n system.posix_acl_default -v &apos;\002\000\000\000&apos; .
# hype356 /p/lcratery/bass6 &amp;gt; mkdir t
# hype356 /p/lcratery/bass6 &amp;gt; getfattr -m. -d t &amp;gt; /dev/null
t: system.posix_acl_access: No such attribute
# hype356 /p/lcratery/bass6 &amp;gt; chown bass6:fstest t
# hype356 /p/lcratery/bass6 &amp;gt; chmod 750 t
# hype356 /p/lcratery/bass6 &amp;gt; touch t/f
 
# hype356 /p/lcratery/bass6 &amp;gt;
# hype356 /p/lcratery/bass6 &amp;gt; cd t
# hype356 /p/lcratery/bass6/t &amp;gt; su behlendo -c &quot;/bin/ls -l `pwd`&quot;
/bin/ls: cannot open directory /p/lcratery/bass6/t: Permission denied
# hype356 /p/lcratery/bass6/t &amp;gt; ls -al
total 12
drwxr-x--- 2 bass6 fstest 5632 Jul 30 19:28 .
drwxr-x--- 3 bass6 fstest 5632 Jul 30 19:28 ..
-rw-rw-rw- 1 root  root      0 Jul 30 19:29 f
# hype356 /p/lcratery/bass6/t &amp;gt; su behlendo -c &quot;/bin/ls -l `pwd`&quot;
total 1
-rw-rw-rw- 1 root root 0 Jul 30 19:29 f
# hype356 /p/lcratery/bass6 &amp;gt; groups behlendo
behlendo : behlendo bgldev fstest lcstaff linuxdev
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</description>
                <environment>lustre-2.4.2-14chaos</environment>
        <key id="25824">LU-5434</key>
            <summary>Invalid system.posix_acl_access breaks permissions enforcement</summary>
                <type id="1" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11303&amp;avatarType=issuetype">Bug</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="emoly.liu">Emoly Liu</assignee>
                                    <reporter username="nedbass">Ned Bass</reporter>
                        <labels>
                    </labels>
                <created>Thu, 31 Jul 2014 03:07:16 +0000</created>
                <updated>Thu, 18 Sep 2014 00:28:53 +0000</updated>
                            <resolved>Wed, 13 Aug 2014 01:28:27 +0000</resolved>
                                    <version>Lustre 2.6.0</version>
                    <version>Lustre 2.7.0</version>
                    <version>Lustre 2.5.3</version>
                                    <fixVersion>Lustre 2.7.0</fixVersion>
                    <fixVersion>Lustre 2.5.4</fixVersion>
                                        <due></due>
                            <votes>0</votes>
                                    <watches>4</watches>
                                                                            <comments>
                            <comment id="90528" author="pjones" created="Thu, 31 Jul 2014 12:38:12 +0000"  >&lt;p&gt;Emoly&lt;/p&gt;

&lt;p&gt;Could you please assist with this one?&lt;/p&gt;

&lt;p&gt;Thanks&lt;/p&gt;

&lt;p&gt;Peter&lt;/p&gt;</comment>
                            <comment id="90565" author="nedbass" created="Thu, 31 Jul 2014 17:40:49 +0000"  >&lt;p&gt;The invalid ACLs can be created using &lt;tt&gt;cp&lt;/tt&gt;.  This is why we are noticing the problem on our production systems. Our users run into this after using &lt;tt&gt;cp&lt;/tt&gt; and &lt;tt&gt;tar&lt;/tt&gt;. Note below that the final &lt;tt&gt;getfattr&lt;/tt&gt; command prints an error regarding &lt;tt&gt;system.posix_acl_access&lt;/tt&gt;.  This is because that name shows up in the list returned by &lt;tt&gt;listxattr()&lt;/tt&gt;, but &lt;tt&gt;getxattr()&lt;/tt&gt; returns ENODATA for it.  The &lt;tt&gt;zdb&lt;/tt&gt; command on the MDT shows that it has the same invalid value as the parent&apos;s &lt;tt&gt;posix_acl_default&lt;/tt&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;# hype356 /p/lcratery/bass6 &amp;gt; mkdir d1
# hype356 /p/lcratery/bass6 &amp;gt; getfattr -n system.posix_acl_default d1
# file: d1
system.posix_acl_default
# hype356 /p/lcratery/bass6 &amp;gt; cp -rp d1 d2
# hype356 /p/lcratery/bass6 &amp;gt; getfattr -n system.posix_acl_default d2
# file: d2
system.posix_acl_default=0sAgAAAA==
# hype356 /p/lcratery/bass6 &amp;gt; mkdir d2/s2
# hype356 /p/lcratery/bass6 &amp;gt; getfattr -m. -d  d2/s2
d2/s2: system.posix_acl_access: No such attribute
# file: d2/s2
system.posix_acl_default=0sAgAAAA==
trusted.link=0s3/HqEQEAAAAsAAAAAAAAAAAAAAAAAAAAABQAAAACAABiQwAAAHAAAAAAczI=
trusted.lma=0sAAAAAAAAAABDYgAAAgAAAHEAAAAAAAAA
trusted.version=0sDAaWCRAAAAA=
&lt;/pre&gt;
&lt;/div&gt;&lt;/div&gt;</comment>
                            <comment id="90601" author="nedbass" created="Thu, 31 Jul 2014 22:35:17 +0000"  >&lt;p&gt;Patch for master: &lt;a href=&quot;http://review.whamcloud.com/#/c/11300&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/#/c/11300&lt;/a&gt;&lt;/p&gt;</comment>
                            <comment id="90608" author="emoly.liu" created="Fri, 1 Aug 2014 01:12:21 +0000"  >&lt;p&gt;Thanks for your patch.&lt;/p&gt;</comment>
                            <comment id="91500" author="emoly.liu" created="Wed, 13 Aug 2014 01:28:27 +0000"  >&lt;p&gt;Patch landed to 2.6.&lt;/p&gt;</comment>
                            <comment id="91515" author="pjones" created="Wed, 13 Aug 2014 10:33:50 +0000"  >&lt;p&gt;2.7! &lt;img class=&quot;emoticon&quot; src=&quot;https://jira.whamcloud.com/images/icons/emoticons/smile.png&quot; height=&quot;16&quot; width=&quot;16&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                            <outwardlinks description="is related to ">
                                        <issuelink>
            <issuekey id="23368">LU-4680</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                    </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|hzwspb:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>15135</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>