Filesystem (directory) permissions meaning difference for x86_64and x86 for 3.1?
From: Bruno PrÃmont
Date: Wed Nov 09 2011 - 15:51:35 EST
Hi,
On a x86_64 system I'm getting permission denied when trying to chdir()
into a directory where I have only 'x' permissions (be it with unix
permissions or with posix ACLs).
For the same layout of directory I can successfully chdir() on x86 as I
can with older kernels of 2.6 series.
In both cases the filesystem is tmpfs with support for posix ACLs and
kernel is 3.1.0.
Directory layout:
drwx--x--- 3 root test 60 Nov 9 21:14 /tmp/btest
drwxrwx--- 2 root test 40 Nov 9 21:14 /tmp/btest/subtest
drwxr-x---+ 3 root root 60 Nov 9 21:10 /tmp/test
drwxrwx---+ 2 root root 40 Nov 9 21:10 /tmp/test/subtest
Posix ACLs
# file: /tmp/test
# owner: root
# group: root
user::rwx
group::r-x
group:test:--x
mask::r-x
other::---
# file: test/subtest/
# owner: root
# group: root
user::rwx
group::r-x
group:test:rwx
mask::rwx
other::---
When executing as user test (with test as only group), on x86_64 I get
EPERM on chdir(X) where X is any one of the 4 directories above.
On x86 I can chdir() into the directory without issue (as expected),
and when in /tmp/test (or /tmp/btest) I get EPERM when trying to list
contents - expected as well. Under subtest I can list content.
The same results are obtained on XFS filesystem.
Any idea what's wrong?
Both test configs attached.
BrunoAttachment:
x86.config.bz2
Description: application/bzip
Attachment:
x86_64.config.bz2
Description: application/bzip