Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F153290408
D3540.id8465.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
90 KB
Referenced Files
None
Subscribers
None
D3540.id8465.diff
View Options
Index: bin/setfacl/setfacl.1
===================================================================
--- bin/setfacl/setfacl.1
+++ bin/setfacl/setfacl.1
@@ -375,15 +375,17 @@
.It d
dir_inherit
.It i
-inherit_only
-.It n
-no_propagate
-.El
-.Pp
-Inheritance flags may be only set on directories.
-.It Ar "ACL type"
-The ACL type field is either
-.Dq Li allow
+inherit_only
+.It n
+no_propagate
+.It I
+inherited
+.El
+.Pp
+Other than the "inherited" flag, inheritance flags may be only set on directories.
+.It Ar "ACL type"
+The ACL type field is either
+.Dq Li allow
or
.Dq Li deny .
.El
Index: lib/libc/posix1e/acl_add_flag_np.3
===================================================================
--- lib/libc/posix1e/acl_add_flag_np.3
+++ lib/libc/posix1e/acl_add_flag_np.3
@@ -56,6 +56,7 @@
.It ACL_ENTRY_DIRECTORY_INHERIT Ta "Will be inherited by directories."
.It ACL_ENTRY_NO_PROPAGATE_INHERIT Ta "Will not propagate."
.It ACL_ENTRY_INHERIT_ONLY Ta "Inherit-only."
+.It ACL_ENTRY_INHERITED Ta "Inherited from parent"
.El
.Sh RETURN VALUES
.Rv -std acl_add_flag_np
Index: lib/libc/posix1e/acl_support_nfs4.c
===================================================================
--- lib/libc/posix1e/acl_support_nfs4.c
+++ lib/libc/posix1e/acl_support_nfs4.c
@@ -48,6 +48,7 @@
{ ACL_ENTRY_NO_PROPAGATE_INHERIT, "no_propagate", 'n'},
{ ACL_ENTRY_SUCCESSFUL_ACCESS, "successfull_access", 'S'},
{ ACL_ENTRY_FAILED_ACCESS, "failed_access", 'F'},
+ { ACL_ENTRY_INHERITED, "inherited", 'I' },
/*
* There is no ACE_IDENTIFIER_GROUP here - SunOS does not show it
* in the "flags" field. There is no ACE_OWNER, ACE_GROUP or
Index: share/man/man9/acl.9
===================================================================
--- share/man/man9/acl.9
+++ share/man/man9/acl.9
@@ -200,13 +200,19 @@
The following values are valid:
.Bl -tag -width ".Dv ACL_ENTRY_DIRECTORY_INHERIT"
.It Dv ACL_ENTRY_FILE_INHERIT
-.It Dv ACL_ENTRY_DIRECTORY_INHERIT
-.It Dv ACL_ENTRY_NO_PROPAGATE_INHERIT
-.It Dv ACL_ENTRY_INHERIT_ONLY
-.El
-.El
-.Sh SEE ALSO
-.Xr acl 3 ,
+.It Dv ACL_ENTRY_DIRECTORY_INHERIT
+.It Dv ACL_ENTRY_NO_PROPAGATE_INHERIT
+.It Dv ACL_ENTRY_INHERIT_ONLY
+.It Dv ACL_ENTRY_INHERITED
+.El
+The
+.Dv ACL_ENTRY_INHERITED
+flag is set on an ACE that has been inherited from its parent.
+It may also be set programmatically, and is valid on both files
+and directories.
+.El
+.Sh SEE ALSO
+.Xr acl 3 ,
.Xr vaccess 9 ,
.Xr vaccess_acl_nfs4 9 ,
.Xr vaccess_acl_posix1e 9 ,
Index: sys/cddl/compat/opensolaris/kern/opensolaris_acl.c
===================================================================
--- sys/cddl/compat/opensolaris/kern/opensolaris_acl.c
+++ sys/cddl/compat/opensolaris/kern/opensolaris_acl.c
@@ -64,6 +64,8 @@
ACL_ENTRY_NO_PROPAGATE_INHERIT},
{ACE_INHERIT_ONLY_ACE,
ACL_ENTRY_INHERIT_ONLY},
+ {ACE_INHERITED_ACE,
+ ACL_ENTRY_INHERITED},
{ACE_SUCCESSFUL_ACCESS_ACE_FLAG,
ACL_ENTRY_SUCCESSFUL_ACCESS},
{ACE_FAILED_ACCESS_ACE_FLAG,
Index: sys/cddl/contrib/opensolaris/uts/common/sys/acl.h
===================================================================
--- sys/cddl/contrib/opensolaris/uts/common/sys/acl.h
+++ sys/cddl/contrib/opensolaris/uts/common/sys/acl.h
@@ -189,11 +189,12 @@
ACE_DIRECTORY_INHERIT_ACE | \
ACE_NO_PROPAGATE_INHERIT_ACE | \
ACE_INHERIT_ONLY_ACE | \
+ ACE_INHERITED_ACE | \
ACE_IDENTIFIER_GROUP)
#define ACE_TYPE_FLAGS (ACE_OWNER|ACE_GROUP|ACE_EVERYONE| \
ACE_IDENTIFIER_GROUP)
-#define ACE_INHERIT_FLAGS (ACE_FILE_INHERIT_ACE| \
+#define ACE_INHERIT_FLAGS (ACE_FILE_INHERIT_ACE| ACL_INHERITED_ACE| \
ACE_DIRECTORY_INHERIT_ACE|ACE_NO_PROPAGATE_INHERIT_ACE|ACE_INHERIT_ONLY_ACE)
/* cmd args to acl(2) for aclent_t */
Index: sys/kern/subr_acl_nfs4.c
===================================================================
--- sys/kern/subr_acl_nfs4.c
+++ sys/kern/subr_acl_nfs4.c
@@ -1068,6 +1068,7 @@
child_aclp->acl_cnt++;
entry->ae_flags &= ~ACL_ENTRY_INHERIT_ONLY;
+ entry->ae_flags |= ACL_ENTRY_INHERITED;
/*
* If the type of the ACE is neither ALLOW nor DENY,
Index: sys/sys/acl.h
===================================================================
--- sys/sys/acl.h
+++ sys/sys/acl.h
@@ -246,17 +246,18 @@
#define ACL_ENTRY_FILE_INHERIT 0x0001
#define ACL_ENTRY_DIRECTORY_INHERIT 0x0002
#define ACL_ENTRY_NO_PROPAGATE_INHERIT 0x0004
-#define ACL_ENTRY_INHERIT_ONLY 0x0008
-#define ACL_ENTRY_SUCCESSFUL_ACCESS 0x0010
-#define ACL_ENTRY_FAILED_ACCESS 0x0020
-
-#define ACL_FLAGS_BITS (ACL_ENTRY_FILE_INHERIT | \
- ACL_ENTRY_DIRECTORY_INHERIT | ACL_ENTRY_NO_PROPAGATE_INHERIT | \
- ACL_ENTRY_INHERIT_ONLY | ACL_ENTRY_SUCCESSFUL_ACCESS | \
- ACL_ENTRY_FAILED_ACCESS)
-
-/*
- * Undefined value in ae_id field. ae_id should be set to this value
+#define ACL_ENTRY_INHERIT_ONLY 0x0008
+#define ACL_ENTRY_SUCCESSFUL_ACCESS 0x0010
+#define ACL_ENTRY_FAILED_ACCESS 0x0020
+#define ACL_ENTRY_INHERITED 0x0080
+
+#define ACL_FLAGS_BITS (ACL_ENTRY_FILE_INHERIT | \
+ ACL_ENTRY_DIRECTORY_INHERIT | ACL_ENTRY_NO_PROPAGATE_INHERIT | \
+ ACL_ENTRY_INHERIT_ONLY | ACL_ENTRY_SUCCESSFUL_ACCESS | \
+ ACL_ENTRY_FAILED_ACCESS | ACL_ENTRY_INHERITED)
+
+/*
+ * Undefined value in ae_id field. ae_id should be set to this value
* iff ae_tag is ACL_USER_OBJ, ACL_GROUP_OBJ, ACL_OTHER or ACL_EVERYONE.
*/
#define ACL_UNDEFINED_ID ((uid_t)-1)
Index: tools/regression/acltools/tools-crossfs.test
===================================================================
--- tools/regression/acltools/tools-crossfs.test
+++ tools/regression/acltools/tools-crossfs.test
@@ -43,9 +43,9 @@
$ touch nfs4/xxx
$ getfacl -nq nfs4/xxx
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
$ touch posix/xxx
$ getfacl -nq posix/xxx
@@ -96,10 +96,10 @@
$ mv posix/yyy nfs4/xxx
> mv: failed to set acl entries for nfs4/xxx: Invalid argument
$ getfacl -nq nfs4/xxx
-> owner@:-wxp----------:------:deny
-> owner@:r-----aARWcCos:------:allow
-> group@:rwxp--a-R-c--s:------:allow
-> everyone@:rw-p--a-R-c--s:------:allow
+> owner@:-wxp----------:-------:deny
+> owner@:r-----aARWcCos:-------:allow
+> group@:rwxp--a-R-c--s:-------:allow
+> everyone@:rw-p--a-R-c--s:-------:allow
$ ls -l nfs4/xxx | cut -d' ' -f1
> -r--rwxrw-
@@ -110,11 +110,11 @@
$ setfacl -a0 u:42:x:allow,g:43:w:allow nfs4/xxx
$ mv nfs4/xxx nfs4/yyy
$ getfacl -nq nfs4/yyy
-> user:42:--x-----------:------:allow
-> group:43:-w------------:------:allow
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
+> user:42:--x-----------:-------:allow
+> group:43:-w------------:-------:allow
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
$ ls -l nfs4/yyy | cut -d' ' -f1
> -rw-r--r--+
@@ -261,14 +261,14 @@
$ setfacl -a0 u:42:x:allow,g:43:w:allow nfs4/xxx
$ cp -p nfs4/xxx nfs4/yyy
$ getfacl -nq nfs4/yyy
-> user:42:--x-----------:------:allow
-> group:43:-w------------:------:allow
-> owner@:--x-----------:------:allow
-> owner@:-w-p----------:------:deny
-> group@:-wxp----------:------:deny
-> owner@:r-x---aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:-wxp--a-R-c--s:------:allow
+> user:42:--x-----------:-------:allow
+> group:43:-w------------:-------:allow
+> owner@:--x-----------:-------:allow
+> owner@:-w-p----------:-------:deny
+> group@:-wxp----------:-------:deny
+> owner@:r-x---aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:-wxp--a-R-c--s:-------:allow
$ ls -l nfs4/yyy | cut -d' ' -f1
> -r-xr---wx+
Index: tools/regression/acltools/tools-nfs4-psarc.test
===================================================================
--- tools/regression/acltools/tools-nfs4-psarc.test
+++ tools/regression/acltools/tools-nfs4-psarc.test
@@ -39,20 +39,20 @@
# Smoke test for getfacl(1).
$ touch xxx
$ getfacl xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
-
-$ getfacl -q xxx
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
-
-# Check verbose mode formatting.
-$ getfacl -v xxx
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ getfacl -q xxx
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Check verbose mode formatting.
+$ getfacl -v xxx
> # file: xxx
> # owner: root
> # group: wheel
@@ -63,76 +63,76 @@
# Test setfacl -a.
$ setfacl -a2 u:0:write_acl:allow,g:1:read_acl:deny xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> user:0:-----------C--:------:allow
-> group:1:----------c---:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Test user and group name resolving.
-$ rm xxx
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> user:0:-----------C--:-------:allow
+> group:1:----------c---:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Test user and group name resolving.
+$ rm xxx
$ touch xxx
$ setfacl -a2 u:root:write_acl:allow,g:daemon:read_acl:deny xxx
$ getfacl xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> user:root:-----------C--:------:allow
-> group:daemon:----------c---:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Check whether ls correctly marks files with "+".
-$ ls -l xxx | cut -d' ' -f1
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> user:root:-----------C--:-------:allow
+> group:daemon:----------c---:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Check whether ls correctly marks files with "+".
+$ ls -l xxx | cut -d' ' -f1
> -rw-r--r--+
# Test removing entries by number.
$ setfacl -x 1 xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:rw-p--aARWcCos:------:allow
-> user:0:-----------C--:------:allow
-> group:1:----------c---:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Test setfacl -m.
-$ setfacl -a0 everyone@:rwx:deny xxx
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:rw-p--aARWcCos:-------:allow
+> user:0:-----------C--:-------:allow
+> group:1:----------c---:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Test setfacl -m.
+$ setfacl -a0 everyone@:rwx:deny xxx
$ setfacl -a0 everyone@:rwx:deny xxx
$ setfacl -a0 everyone@:rwx:deny xxx
$ setfacl -m everyone@::deny xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> everyone@:--------------:------:deny
-> everyone@:--------------:------:deny
-> everyone@:--------------:------:deny
-> owner@:rw-p--aARWcCos:------:allow
-> user:0:-----------C--:------:allow
-> group:1:----------c---:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Test getfacl -i.
-$ getfacl -i xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> everyone@:--------------:------:deny
-> everyone@:--------------:------:deny
-> everyone@:--------------:------:deny
-> owner@:rw-p--aARWcCos:------:allow
-> user:root:-----------C--:------:allow:0
-> group:daemon:----------c---:------:deny:1
-> everyone@:r-----a-R-c--s:------:allow
-
-# Make sure cp without any flags does not copy copy the ACL.
-$ cp xxx yyy
+> # file: xxx
+> # owner: root
+> # group: wheel
+> everyone@:--------------:-------:deny
+> everyone@:--------------:-------:deny
+> everyone@:--------------:-------:deny
+> owner@:rw-p--aARWcCos:-------:allow
+> user:0:-----------C--:-------:allow
+> group:1:----------c---:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Test getfacl -i.
+$ getfacl -i xxx
+> # file: xxx
+> # owner: root
+> # group: wheel
+> everyone@:--------------:-------:deny
+> everyone@:--------------:-------:deny
+> everyone@:--------------:-------:deny
+> owner@:rw-p--aARWcCos:-------:allow
+> user:root:-----------C--:-------:allow:0
+> group:daemon:----------c---:-------:deny:1
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Make sure cp without any flags does not copy copy the ACL.
+$ cp xxx yyy
$ ls -l yyy | cut -d' ' -f1
> -rw-r--r--
@@ -140,42 +140,42 @@
$ rm yyy
$ cp -p xxx yyy
$ getfacl -n yyy
-> # file: yyy
-> # owner: root
-> # group: wheel
-> everyone@:--------------:------:deny
-> everyone@:--------------:------:deny
-> everyone@:--------------:------:deny
-> owner@:rw-p--aARWcCos:------:allow
-> user:0:-----------C--:------:allow
-> group:1:----------c---:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-$ rm yyy
-
+> # file: yyy
+> # owner: root
+> # group: wheel
+> everyone@:--------------:-------:deny
+> everyone@:--------------:-------:deny
+> everyone@:--------------:-------:deny
+> owner@:rw-p--aARWcCos:-------:allow
+> user:0:-----------C--:-------:allow
+> group:1:----------c---:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ rm yyy
+
# Test removing entries by... by example?
$ setfacl -x everyone@::deny xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:rw-p--aARWcCos:------:allow
-> user:0:-----------C--:------:allow
-> group:1:----------c---:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Test setfacl -b.
-$ setfacl -b xxx
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:rw-p--aARWcCos:-------:allow
+> user:0:-----------C--:-------:allow
+> group:1:----------c---:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Test setfacl -b.
+$ setfacl -b xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
-
-$ ls -l xxx | cut -d' ' -f1
-> -rw-r--r--
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ ls -l xxx | cut -d' ' -f1
+> -rw-r--r--
# Check setfacl(1) and getfacl(1) with multiple files.
$ touch xxx yyy zzz
@@ -193,29 +193,29 @@
> -rw-r--r--+
> -rw-r--r--+
> -rw-r--r--+
-
-$ getfacl -nq nnn xxx yyy zzz
-> getfacl: nnn: stat() failed: No such file or directory
-> user:42:--x-----------:------:allow
-> group:43:-w------------:------:allow
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
->
-> user:42:--x-----------:------:allow
-> group:43:-w------------:------:allow
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
->
-> user:42:--x-----------:------:allow
-> group:43:-w------------:------:allow
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
-
-$ setfacl -b nnn xxx yyy zzz
-> setfacl: nnn: stat() failed: No such file or directory
+
+$ getfacl -nq nnn xxx yyy zzz
+> getfacl: nnn: stat() failed: No such file or directory
+> user:42:--x-----------:-------:allow
+> group:43:-w------------:-------:allow
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
+>
+> user:42:--x-----------:-------:allow
+> group:43:-w------------:-------:allow
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
+>
+> user:42:--x-----------:-------:allow
+> group:43:-w------------:-------:allow
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ setfacl -b nnn xxx yyy zzz
+> setfacl: nnn: stat() failed: No such file or directory
$ ls -l nnn xxx yyy zzz | cut -d' ' -f1
> ls: nnn: No such file or directory
@@ -230,15 +230,15 @@
$ setfacl -a0 user:42:r:allow,user:43:w:deny,user:43:w:allow,user:44:x:allow -x everyone@::allow xxx
$ chmod 600 xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:rw-p--aARWcCos:------:allow
-> group@:------a-R-c--s:------:allow
-> everyone@:------a-R-c--s:------:allow
-
-$ ls -l xxx | cut -d' ' -f1
-> -rw-------
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:------a-R-c--s:-------:allow
+> everyone@:------a-R-c--s:-------:allow
+
+$ ls -l xxx | cut -d' ' -f1
+> -rw-------
$ rm xxx
$ touch xxx
@@ -246,78 +246,78 @@
$ setfacl -a0 user:42:r:allow,user:43:w:deny,user:43:w:allow,user:44:x:allow xxx
$ chmod 600 xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: 42
-> # group: wheel
-> owner@:rw-p--aARWcCos:------:allow
-> group@:------a-R-c--s:------:allow
-> everyone@:------a-R-c--s:------:allow
-$ ls -l xxx | cut -d' ' -f1
-> -rw-------
-
+> # file: xxx
+> # owner: 42
+> # group: wheel
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:------a-R-c--s:-------:allow
+> everyone@:------a-R-c--s:-------:allow
+$ ls -l xxx | cut -d' ' -f1
+> -rw-------
+
$ rm xxx
$ touch xxx
$ chown 43 xxx
$ setfacl -a0 user:42:r:allow,user:43:w:deny,user:43:w:allow,user:44:x:allow xxx
$ chmod 124 xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: 43
-> # group: wheel
-> owner@:rw-p----------:------:deny
-> group@:r-------------:------:deny
-> owner@:--x---aARWcCos:------:allow
-> group@:-w-p--a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
-$ ls -l xxx | cut -d' ' -f1
-> ---x-w-r--
-
+> # file: xxx
+> # owner: 43
+> # group: wheel
+> owner@:rw-p----------:-------:deny
+> group@:r-------------:-------:deny
+> owner@:--x---aARWcCos:-------:allow
+> group@:-w-p--a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
+$ ls -l xxx | cut -d' ' -f1
+> ---x-w-r--
+
$ rm xxx
$ touch xxx
$ chown 43 xxx
$ setfacl -a0 user:42:r:allow,user:43:w:deny,user:43:w:allow,user:44:x:allow xxx
$ chmod 412 xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: 43
-> # group: wheel
-> owner@:-wxp----------:------:deny
-> group@:-w-p----------:------:deny
-> owner@:r-----aARWcCos:------:allow
-> group@:--x---a-R-c--s:------:allow
-> everyone@:-w-p--a-R-c--s:------:allow
-$ ls -l xxx | cut -d' ' -f1
-> -r----x-w-
-
+> # file: xxx
+> # owner: 43
+> # group: wheel
+> owner@:-wxp----------:-------:deny
+> group@:-w-p----------:-------:deny
+> owner@:r-----aARWcCos:-------:allow
+> group@:--x---a-R-c--s:-------:allow
+> everyone@:-w-p--a-R-c--s:-------:allow
+$ ls -l xxx | cut -d' ' -f1
+> -r----x-w-
+
$ mkdir ddd
$ setfacl -a0 group:44:rwapd:allow ddd
$ setfacl -a0 group:43:write_data/delete_child:d:deny,group@:ad:allow ddd
$ setfacl -a0 user:42:rx:fi:allow,group:42:write_data/delete_child:d:allow ddd
$ setfacl -m everyone@:-w-p--a-R-c--s:fi:allow ddd
$ getfacl -n ddd
-> # file: ddd
-> # owner: root
-> # group: wheel
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:-d----:allow
-> group:43:-w--D---------:-d----:deny
-> group@:-----da-------:------:allow
-> group:44:rw-p-da-------:------:allow
-> owner@:rwxp--aARWcCos:------:allow
-> group@:r-x---a-R-c--s:------:allow
-> everyone@:-w-p--a-R-c--s:f-i---:allow
-
-$ chmod 777 ddd
-$ getfacl -n ddd
-> # file: ddd
-> # owner: root
-> # group: wheel
-> owner@:rwxp--aARWcCos:------:allow
-> group@:rwxp--a-R-c--s:------:allow
-> everyone@:rwxp--a-R-c--s:------:allow
-
-# Test applying ACL to mode.
-$ rmdir ddd
+> # file: ddd
+> # owner: root
+> # group: wheel
+> user:42:r-x-----------:f-i----:allow
+> group:42:-w--D---------:-d-----:allow
+> group:43:-w--D---------:-d-----:deny
+> group@:-----da-------:-------:allow
+> group:44:rw-p-da-------:-------:allow
+> owner@:rwxp--aARWcCos:-------:allow
+> group@:r-x---a-R-c--s:-------:allow
+> everyone@:-w-p--a-R-c--s:f-i----:allow
+
+$ chmod 777 ddd
+$ getfacl -n ddd
+> # file: ddd
+> # owner: root
+> # group: wheel
+> owner@:rwxp--aARWcCos:-------:allow
+> group@:rwxp--a-R-c--s:-------:allow
+> everyone@:rwxp--a-R-c--s:-------:allow
+
+# Test applying ACL to mode.
+$ rmdir ddd
$ mkdir ddd
$ setfacl -a0 u:42:rwx:fi:allow ddd
$ ls -ld ddd | cut -d' ' -f1
@@ -357,110 +357,110 @@
$ setfacl -a0 group:43:write_data/write_acl:fin:deny,u:43:rwxp:allow ddd
$ setfacl -a0 user:42:rx:fi:allow,group:42:write_data/delete_child:dn:deny ddd
$ setfacl -a0 user:42:write_acl/write_owner:fi:allow ddd
-$ setfacl -a0 group:41:read_data/read_attributes:dni:allow ddd
-$ setfacl -a0 user:41:write_data/write_attributes:fn:allow ddd
-$ getfacl -qn ddd
-> user:41:-w-----A------:f--n--:allow
-> group:41:r-----a-------:-din--:allow
-> user:42:-----------Co-:f-i---:allow
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:-d-n--:deny
-> group:43:-w---------C--:f-in--:deny
-> user:43:rwxp----------:------:allow
-> owner@:rwxp--aARWcCos:------:allow
-> group@:r-x---a-R-c--s:------:allow
-> everyone@:r-x---a-R-c--s:------:allow
-
-$ cd ddd
-$ touch xxx
-$ getfacl -qn xxx
-> user:41:--------------:------:allow
-> user:42:--------------:------:allow
-> user:42:r-------------:------:allow
-> group:43:-w---------C--:------:deny
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
-
-$ rm xxx
-$ umask 077
-$ touch xxx
-$ getfacl -qn xxx
-> user:41:--------------:------:allow
-> user:42:--------------:------:allow
-> user:42:--------------:------:allow
-> group:43:-w---------C--:------:deny
-> owner@:rw-p--aARWcCos:------:allow
-> group@:------a-R-c--s:------:allow
-> everyone@:------a-R-c--s:------:allow
-
-$ rm xxx
-$ umask 770
-$ touch xxx
-$ getfacl -qn xxx
-> owner@:rw-p----------:------:deny
-> group@:rw-p----------:------:deny
-> user:41:--------------:------:allow
-> user:42:--------------:------:allow
-> user:42:--------------:------:allow
-> group:43:-w---------C--:------:deny
-> owner@:------aARWcCos:------:allow
-> group@:------a-R-c--s:------:allow
-> everyone@:rw-p--a-R-c--s:------:allow
-
-$ rm xxx
-$ umask 707
-$ touch xxx
-$ getfacl -qn xxx
-> owner@:rw-p----------:------:deny
-> user:41:-w------------:------:allow
-> user:42:--------------:------:allow
-> user:42:r-------------:------:allow
-> group:43:-w---------C--:------:deny
-> owner@:------aARWcCos:------:allow
-> group@:rw-p--a-R-c--s:------:allow
-> everyone@:------a-R-c--s:------:allow
-
-$ umask 077
-$ mkdir yyy
-$ getfacl -qn yyy
-> group:41:------a-------:------:allow
-> user:42:-----------Co-:f-i---:allow
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:------:deny
-> owner@:rwxp--aARWcCos:------:allow
-> group@:------a-R-c--s:------:allow
-> everyone@:------a-R-c--s:------:allow
-
-$ rmdir yyy
-$ umask 770
-$ mkdir yyy
-$ getfacl -qn yyy
-> owner@:rwxp----------:------:deny
-> group@:rwxp----------:------:deny
-> group:41:------a-------:------:allow
-> user:42:-----------Co-:f-i---:allow
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:------:deny
-> owner@:------aARWcCos:------:allow
-> group@:------a-R-c--s:------:allow
-> everyone@:rwxp--a-R-c--s:------:allow
-
-$ rmdir yyy
-$ umask 707
-$ mkdir yyy
-$ getfacl -qn yyy
-> owner@:rwxp----------:------:deny
-> group:41:r-----a-------:------:allow
-> user:42:-----------Co-:f-i---:allow
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:------:deny
-> owner@:------aARWcCos:------:allow
-> group@:rwxp--a-R-c--s:------:allow
-> everyone@:------a-R-c--s:------:allow
-
-# There is some complication regarding how write_acl and write_owner flags
-# get inherited. Make sure we got it right.
+$ setfacl -a0 group:41:read_data/read_attributes:dni:allow ddd
+$ setfacl -a0 user:41:write_data/write_attributes:fn:allow ddd
+$ getfacl -qn ddd
+> user:41:-w-----A------:f--n---:allow
+> group:41:r-----a-------:-din---:allow
+> user:42:-----------Co-:f-i----:allow
+> user:42:r-x-----------:f-i----:allow
+> group:42:-w--D---------:-d-n---:deny
+> group:43:-w---------C--:f-in---:deny
+> user:43:rwxp----------:-------:allow
+> owner@:rwxp--aARWcCos:-------:allow
+> group@:r-x---a-R-c--s:-------:allow
+> everyone@:r-x---a-R-c--s:-------:allow
+
+$ cd ddd
+$ touch xxx
+$ getfacl -qn xxx
+> user:41:--------------:------I:allow
+> user:42:--------------:------I:allow
+> user:42:r-------------:------I:allow
+> group:43:-w---------C--:------I:deny
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ rm xxx
+$ umask 077
+$ touch xxx
+$ getfacl -qn xxx
+> user:41:--------------:------I:allow
+> user:42:--------------:------I:allow
+> user:42:--------------:------I:allow
+> group:43:-w---------C--:------I:deny
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:------a-R-c--s:-------:allow
+> everyone@:------a-R-c--s:-------:allow
+
+$ rm xxx
+$ umask 770
+$ touch xxx
+$ getfacl -qn xxx
+> owner@:rw-p----------:-------:deny
+> group@:rw-p----------:-------:deny
+> user:41:--------------:------I:allow
+> user:42:--------------:------I:allow
+> user:42:--------------:------I:allow
+> group:43:-w---------C--:------I:deny
+> owner@:------aARWcCos:-------:allow
+> group@:------a-R-c--s:-------:allow
+> everyone@:rw-p--a-R-c--s:-------:allow
+
+$ rm xxx
+$ umask 707
+$ touch xxx
+$ getfacl -qn xxx
+> owner@:rw-p----------:-------:deny
+> user:41:-w------------:------I:allow
+> user:42:--------------:------I:allow
+> user:42:r-------------:------I:allow
+> group:43:-w---------C--:------I:deny
+> owner@:------aARWcCos:-------:allow
+> group@:rw-p--a-R-c--s:-------:allow
+> everyone@:------a-R-c--s:-------:allow
+
+$ umask 077
+$ mkdir yyy
+$ getfacl -qn yyy
+> group:41:------a-------:------I:allow
+> user:42:-----------Co-:f-i---I:allow
+> user:42:r-x-----------:f-i---I:allow
+> group:42:-w--D---------:------I:deny
+> owner@:rwxp--aARWcCos:-------:allow
+> group@:------a-R-c--s:-------:allow
+> everyone@:------a-R-c--s:-------:allow
+
+$ rmdir yyy
+$ umask 770
+$ mkdir yyy
+$ getfacl -qn yyy
+> owner@:rwxp----------:-------:deny
+> group@:rwxp----------:-------:deny
+> group:41:------a-------:------I:allow
+> user:42:-----------Co-:f-i---I:allow
+> user:42:r-x-----------:f-i---I:allow
+> group:42:-w--D---------:------I:deny
+> owner@:------aARWcCos:-------:allow
+> group@:------a-R-c--s:-------:allow
+> everyone@:rwxp--a-R-c--s:-------:allow
+
+$ rmdir yyy
+$ umask 707
+$ mkdir yyy
+$ getfacl -qn yyy
+> owner@:rwxp----------:-------:deny
+> group:41:r-----a-------:------I:allow
+> user:42:-----------Co-:f-i---I:allow
+> user:42:r-x-----------:f-i---I:allow
+> group:42:-w--D---------:------I:deny
+> owner@:------aARWcCos:-------:allow
+> group@:rwxp--a-R-c--s:-------:allow
+> everyone@:------a-R-c--s:-------:allow
+
+# There is some complication regarding how write_acl and write_owner flags
+# get inherited. Make sure we got it right.
$ setfacl -b .
$ setfacl -a0 u:42:Co:f:allow .
$ setfacl -a0 u:43:Co:d:allow .
@@ -475,40 +475,40 @@
$ setfacl -a0 u:52:Co:dni:allow .
$ setfacl -a0 u:53:Co:fdni:allow .
$ umask 022
-$ rm xxx
-$ touch xxx
-$ getfacl -nq xxx
-> user:53:--------------:------:allow
-> user:51:--------------:------:allow
-> user:50:--------------:------:allow
-> user:48:--------------:------:allow
-> user:47:--------------:------:allow
-> user:45:--------------:------:allow
-> user:44:--------------:------:allow
-> user:42:--------------:------:allow
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
-
-$ rmdir yyy
-$ mkdir yyy
-$ getfacl -nq yyy
-> user:53:--------------:------:allow
-> user:52:--------------:------:allow
-> user:50:--------------:------:allow
-> user:49:--------------:------:allow
-> user:47:--------------:fd----:allow
-> user:46:--------------:-d----:allow
-> user:45:-----------Co-:f-i---:allow
-> user:44:--------------:fd----:allow
-> user:43:--------------:-d----:allow
-> user:42:-----------Co-:f-i---:allow
-> owner@:rwxp--aARWcCos:------:allow
-> group@:r-x---a-R-c--s:------:allow
-> everyone@:r-x---a-R-c--s:------:allow
-
-$ setfacl -b .
-$ setfacl -a0 u:42:Co:f:deny .
+$ rm xxx
+$ touch xxx
+$ getfacl -nq xxx
+> user:53:--------------:------I:allow
+> user:51:--------------:------I:allow
+> user:50:--------------:------I:allow
+> user:48:--------------:------I:allow
+> user:47:--------------:------I:allow
+> user:45:--------------:------I:allow
+> user:44:--------------:------I:allow
+> user:42:--------------:------I:allow
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ rmdir yyy
+$ mkdir yyy
+$ getfacl -nq yyy
+> user:53:--------------:------I:allow
+> user:52:--------------:------I:allow
+> user:50:--------------:------I:allow
+> user:49:--------------:------I:allow
+> user:47:--------------:fd----I:allow
+> user:46:--------------:-d----I:allow
+> user:45:-----------Co-:f-i---I:allow
+> user:44:--------------:fd----I:allow
+> user:43:--------------:-d----I:allow
+> user:42:-----------Co-:f-i---I:allow
+> owner@:rwxp--aARWcCos:-------:allow
+> group@:r-x---a-R-c--s:-------:allow
+> everyone@:r-x---a-R-c--s:-------:allow
+
+$ setfacl -b .
+$ setfacl -a0 u:42:Co:f:deny .
$ setfacl -a0 u:43:Co:d:deny .
$ setfacl -a0 u:44:Co:fd:deny .
$ setfacl -a0 u:45:Co:fi:deny .
@@ -521,40 +521,40 @@
$ setfacl -a0 u:52:Co:dni:deny .
$ setfacl -a0 u:53:Co:fdni:deny .
$ umask 022
-$ rm xxx
-$ touch xxx
-$ getfacl -nq xxx
-> user:53:-----------Co-:------:deny
-> user:51:-----------Co-:------:deny
-> user:50:-----------Co-:------:deny
-> user:48:-----------Co-:------:deny
-> user:47:-----------Co-:------:deny
-> user:45:-----------Co-:------:deny
-> user:44:-----------Co-:------:deny
-> user:42:-----------Co-:------:deny
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
-
-$ rmdir yyy
-$ mkdir yyy
-$ getfacl -nq yyy
-> user:53:-----------Co-:------:deny
-> user:52:-----------Co-:------:deny
-> user:50:-----------Co-:------:deny
-> user:49:-----------Co-:------:deny
-> user:47:-----------Co-:fd----:deny
-> user:46:-----------Co-:-d----:deny
-> user:45:-----------Co-:f-i---:deny
-> user:44:-----------Co-:fd----:deny
-> user:43:-----------Co-:-d----:deny
-> user:42:-----------Co-:f-i---:deny
-> owner@:rwxp--aARWcCos:------:allow
-> group@:r-x---a-R-c--s:------:allow
-> everyone@:r-x---a-R-c--s:------:allow
-
-$ rmdir yyy
-$ rm xxx
+$ rm xxx
+$ touch xxx
+$ getfacl -nq xxx
+> user:53:-----------Co-:------I:deny
+> user:51:-----------Co-:------I:deny
+> user:50:-----------Co-:------I:deny
+> user:48:-----------Co-:------I:deny
+> user:47:-----------Co-:------I:deny
+> user:45:-----------Co-:------I:deny
+> user:44:-----------Co-:------I:deny
+> user:42:-----------Co-:------I:deny
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ rmdir yyy
+$ mkdir yyy
+$ getfacl -nq yyy
+> user:53:-----------Co-:------I:deny
+> user:52:-----------Co-:------I:deny
+> user:50:-----------Co-:------I:deny
+> user:49:-----------Co-:------I:deny
+> user:47:-----------Co-:fd----I:deny
+> user:46:-----------Co-:-d----I:deny
+> user:45:-----------Co-:f-i---I:deny
+> user:44:-----------Co-:fd----I:deny
+> user:43:-----------Co-:-d----I:deny
+> user:42:-----------Co-:f-i---I:deny
+> owner@:rwxp--aARWcCos:-------:allow
+> group@:r-x---a-R-c--s:-------:allow
+> everyone@:r-x---a-R-c--s:-------:allow
+
+$ rmdir yyy
+$ rm xxx
$ cd ..
$ rmdir ddd
Index: tools/regression/acltools/tools-nfs4-trivial.test
===================================================================
--- tools/regression/acltools/tools-nfs4-trivial.test
+++ tools/regression/acltools/tools-nfs4-trivial.test
@@ -39,15 +39,15 @@
$ touch xxx
$ ls -l xxx | cut -d' ' -f1
-> -rw-r--r--
-
-$ getfacl -q xxx
-> owner@:rw-p--aARWcCos:------:allow
-> group@:r-----a-R-c--s:------:allow
-> everyone@:r-----a-R-c--s:------:allow
-
-# Check whether ls(1) correctly recognizes draft-style trivial ACLs.
-$ rm xxx
+> -rw-r--r--
+
+$ getfacl -q xxx
+> owner@:rw-p--aARWcCos:-------:allow
+> group@:r-----a-R-c--s:-------:allow
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Check whether ls(1) correctly recognizes draft-style trivial ACLs.
+$ rm xxx
$ touch xxx
$ setfacl -a0 owner@:x:deny,owner@:rwpAWCo:allow,group@:wxp:deny,group@:r:allow,everyone@:wxpAWCo:deny,everyone@:raRcs:allow xxx
$ setfacl -x5 xxx
@@ -55,28 +55,28 @@
$ setfacl -x5 xxx
$ ls -l xxx | cut -d' ' -f1
-> -rw-r--r--
-
-$ getfacl -q xxx
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Make sure ls(1) actually can recognize something as non-trivial.
-$ setfacl -x0 xxx
+> -rw-r--r--
+
+$ getfacl -q xxx
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Make sure ls(1) actually can recognize something as non-trivial.
+$ setfacl -x0 xxx
$ ls -l xxx | cut -d' ' -f1
-> -rw-r--r--+
-
-$ getfacl -q xxx
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-$ rm xxx
-
+> -rw-r--r--+
+
+$ getfacl -q xxx
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ rm xxx
+
Index: tools/regression/acltools/tools-nfs4.test
===================================================================
--- tools/regression/acltools/tools-nfs4.test
+++ tools/regression/acltools/tools-nfs4.test
@@ -39,26 +39,26 @@
# Smoke test for getfacl(1).
$ touch xxx
$ getfacl xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-$ getfacl -q xxx
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Check verbose mode formatting.
-$ getfacl -v xxx
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ getfacl -q xxx
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Check verbose mode formatting.
+$ getfacl -v xxx
> # file: xxx
> # owner: root
> # group: wheel
@@ -72,89 +72,89 @@
# Test setfacl -a.
$ setfacl -a2 u:0:write_acl:allow,g:1:read_acl:deny xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> user:0:-----------C--:------:allow
-> group:1:----------c---:------:deny
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Test user and group name resolving.
-$ rm xxx
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> user:0:-----------C--:-------:allow
+> group:1:----------c---:-------:deny
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Test user and group name resolving.
+$ rm xxx
$ touch xxx
$ setfacl -a2 u:root:write_acl:allow,g:daemon:read_acl:deny xxx
$ getfacl xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> user:root:-----------C--:------:allow
-> group:daemon:----------c---:------:deny
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Check whether ls correctly marks files with "+".
-$ ls -l xxx | cut -d' ' -f1
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> user:root:-----------C--:-------:allow
+> group:daemon:----------c---:-------:deny
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Check whether ls correctly marks files with "+".
+$ ls -l xxx | cut -d' ' -f1
> -rw-r--r--+
# Test removing entries by number.
$ setfacl -x 4 xxx
$ setfacl -x 4 xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> user:0:-----------C--:------:allow
-> group:1:----------c---:------:deny
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Test setfacl -m.
-$ setfacl -a0 everyone@:rwx:deny xxx
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> user:0:-----------C--:-------:allow
+> group:1:----------c---:-------:deny
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Test setfacl -m.
+$ setfacl -a0 everyone@:rwx:deny xxx
$ setfacl -a0 everyone@:rwx:deny xxx
$ setfacl -a0 everyone@:rwx:deny xxx
$ setfacl -m everyone@::deny xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> everyone@:--------------:------:deny
-> everyone@:--------------:------:deny
-> everyone@:--------------:------:deny
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> user:0:-----------C--:------:allow
-> group:1:----------c---:------:deny
-> everyone@:--------------:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Test getfacl -i.
-$ getfacl -i xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> everyone@:--------------:------:deny
-> everyone@:--------------:------:deny
-> everyone@:--------------:------:deny
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> user:root:-----------C--:------:allow:0
-> group:daemon:----------c---:------:deny:1
-> everyone@:--------------:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Make sure cp without any flags does not copy copy the ACL.
-$ cp xxx yyy
+> # file: xxx
+> # owner: root
+> # group: wheel
+> everyone@:--------------:-------:deny
+> everyone@:--------------:-------:deny
+> everyone@:--------------:-------:deny
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> user:0:-----------C--:-------:allow
+> group:1:----------c---:-------:deny
+> everyone@:--------------:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Test getfacl -i.
+$ getfacl -i xxx
+> # file: xxx
+> # owner: root
+> # group: wheel
+> everyone@:--------------:-------:deny
+> everyone@:--------------:-------:deny
+> everyone@:--------------:-------:deny
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> user:root:-----------C--:-------:allow:0
+> group:daemon:----------c---:-------:deny:1
+> everyone@:--------------:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Make sure cp without any flags does not copy copy the ACL.
+$ cp xxx yyy
$ ls -l yyy | cut -d' ' -f1
> -rw-r--r--
@@ -162,48 +162,48 @@
$ rm yyy
$ cp -p xxx yyy
$ getfacl -n yyy
-> # file: yyy
-> # owner: root
-> # group: wheel
-> everyone@:--------------:------:deny
-> everyone@:--------------:------:deny
-> everyone@:--------------:------:deny
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> user:0:-----------C--:------:allow
-> group:1:----------c---:------:deny
-> everyone@:--------------:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-$ rm yyy
-
+> # file: yyy
+> # owner: root
+> # group: wheel
+> everyone@:--------------:-------:deny
+> everyone@:--------------:-------:deny
+> everyone@:--------------:-------:deny
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> user:0:-----------C--:-------:allow
+> group:1:----------c---:-------:deny
+> everyone@:--------------:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ rm yyy
+
# Test removing entries by... by example?
$ setfacl -x everyone@::deny xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> user:0:-----------C--:------:allow
-> group:1:----------c---:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-# Test setfacl -b.
-$ setfacl -b xxx
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> user:0:-----------C--:-------:allow
+> group:1:----------c---:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+# Test setfacl -b.
+$ setfacl -b xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-$ ls -l xxx | cut -d' ' -f1
-> -rw-r--r--
+> # file: xxx
+> # owner: root
+> # group: wheel
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ ls -l xxx | cut -d' ' -f1
+> -rw-r--r--
# Check setfacl(1) and getfacl(1) with multiple files.
$ touch xxx yyy zzz
@@ -221,38 +221,38 @@
> -rw-r--r--+
> -rw-r--r--+
> -rw-r--r--+
-
-$ getfacl -nq nnn xxx yyy zzz
-> getfacl: nnn: stat() failed: No such file or directory
-> user:42:--x-----------:------:allow
-> group:43:-w------------:------:allow
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
->
-> user:42:--x-----------:------:allow
-> group:43:-w------------:------:allow
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
->
-> user:42:--x-----------:------:allow
-> group:43:-w------------:------:allow
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-$ setfacl -b nnn xxx yyy zzz
-> setfacl: nnn: stat() failed: No such file or directory
+
+$ getfacl -nq nnn xxx yyy zzz
+> getfacl: nnn: stat() failed: No such file or directory
+> user:42:--x-----------:-------:allow
+> group:43:-w------------:-------:allow
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+>
+> user:42:--x-----------:-------:allow
+> group:43:-w------------:-------:allow
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+>
+> user:42:--x-----------:-------:allow
+> group:43:-w------------:-------:allow
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ setfacl -b nnn xxx yyy zzz
+> setfacl: nnn: stat() failed: No such file or directory
$ ls -l nnn xxx yyy zzz | cut -d' ' -f1
> ls: nnn: No such file or directory
@@ -267,218 +267,218 @@
$ setfacl -a0 user:42:r:allow,user:43:w:deny,user:43:w:allow,user:44:x:allow -x everyone@::allow xxx
$ chmod 600 xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: root
-> # group: wheel
-> user:42:r-------------:------:deny
-> user:42:r-------------:------:allow
-> user:43:-w------------:------:deny
-> user:43:-w------------:------:allow
-> user:44:--x-----------:------:deny
-> user:44:--x-----------:------:allow
-> owner@:--------------:------:deny
-> owner@:-------A-W-Co-:------:allow
-> group@:--------------:------:deny
-> group@:--------------:------:allow
-> everyone@:-------A-W-Co-:------:deny
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:rwxp----------:------:deny
-> group@:--------------:------:allow
-> everyone@:rwxp---A-W-Co-:------:deny
-> everyone@:------a-R-c--s:------:allow
-$ ls -l xxx | cut -d' ' -f1
-> -rw-------+
-
+> # file: xxx
+> # owner: root
+> # group: wheel
+> user:42:r-------------:-------:deny
+> user:42:r-------------:-------:allow
+> user:43:-w------------:-------:deny
+> user:43:-w------------:-------:allow
+> user:44:--x-----------:-------:deny
+> user:44:--x-----------:-------:allow
+> owner@:--------------:-------:deny
+> owner@:-------A-W-Co-:-------:allow
+> group@:--------------:-------:deny
+> group@:--------------:-------:allow
+> everyone@:-------A-W-Co-:-------:deny
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:rwxp----------:-------:deny
+> group@:--------------:-------:allow
+> everyone@:rwxp---A-W-Co-:-------:deny
+> everyone@:------a-R-c--s:-------:allow
+$ ls -l xxx | cut -d' ' -f1
+> -rw-------+
+
$ rm xxx
$ touch xxx
$ chown 42 xxx
$ setfacl -a0 user:42:r:allow,user:43:w:deny,user:43:w:allow,user:44:x:allow xxx
$ chmod 600 xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: 42
-> # group: wheel
-> user:42:--------------:------:deny
-> user:42:r-------------:------:allow
-> user:43:-w------------:------:deny
-> user:43:-w------------:------:allow
-> user:44:--x-----------:------:deny
-> user:44:--x-----------:------:allow
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:rwxp----------:------:deny
-> group@:--------------:------:allow
-> everyone@:rwxp---A-W-Co-:------:deny
-> everyone@:------a-R-c--s:------:allow
-$ ls -l xxx | cut -d' ' -f1
-> -rw-------+
-
+> # file: xxx
+> # owner: 42
+> # group: wheel
+> user:42:--------------:-------:deny
+> user:42:r-------------:-------:allow
+> user:43:-w------------:-------:deny
+> user:43:-w------------:-------:allow
+> user:44:--x-----------:-------:deny
+> user:44:--x-----------:-------:allow
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:rwxp----------:-------:deny
+> group@:--------------:-------:allow
+> everyone@:rwxp---A-W-Co-:-------:deny
+> everyone@:------a-R-c--s:-------:allow
+$ ls -l xxx | cut -d' ' -f1
+> -rw-------+
+
$ rm xxx
$ touch xxx
$ chown 43 xxx
$ setfacl -a0 user:42:r:allow,user:43:w:deny,user:43:w:allow,user:44:x:allow xxx
$ chmod 124 xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: 43
-> # group: wheel
-> user:42:r-------------:------:deny
-> user:42:r-------------:------:allow
-> user:43:-w------------:------:deny
-> user:43:-w------------:------:allow
-> user:44:--x-----------:------:deny
-> user:44:--x-----------:------:allow
-> owner@:rw-p----------:------:deny
-> owner@:--x----A-W-Co-:------:allow
-> group@:r-x-----------:------:deny
-> group@:-w-p----------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-$ ls -l xxx | cut -d' ' -f1
-> ---x-w-r--+
-
+> # file: xxx
+> # owner: 43
+> # group: wheel
+> user:42:r-------------:-------:deny
+> user:42:r-------------:-------:allow
+> user:43:-w------------:-------:deny
+> user:43:-w------------:-------:allow
+> user:44:--x-----------:-------:deny
+> user:44:--x-----------:-------:allow
+> owner@:rw-p----------:-------:deny
+> owner@:--x----A-W-Co-:-------:allow
+> group@:r-x-----------:-------:deny
+> group@:-w-p----------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+$ ls -l xxx | cut -d' ' -f1
+> ---x-w-r--+
+
$ rm xxx
$ touch xxx
$ chown 43 xxx
$ setfacl -a0 user:42:r:allow,user:43:w:deny,user:43:w:allow,user:44:x:allow xxx
$ chmod 412 xxx
$ getfacl -n xxx
-> # file: xxx
-> # owner: 43
-> # group: wheel
-> user:42:r-------------:------:deny
-> user:42:r-------------:------:allow
-> user:43:-w------------:------:deny
-> user:43:-w------------:------:allow
-> user:44:--------------:------:deny
-> user:44:--x-----------:------:allow
-> owner@:-wxp----------:------:deny
-> owner@:r------A-W-Co-:------:allow
-> group@:rw-p----------:------:deny
-> group@:--x-----------:------:allow
-> everyone@:r-x----A-W-Co-:------:deny
-> everyone@:-w-p--a-R-c--s:------:allow
-$ ls -l xxx | cut -d' ' -f1
-> -r----x-w-+
-
+> # file: xxx
+> # owner: 43
+> # group: wheel
+> user:42:r-------------:-------:deny
+> user:42:r-------------:-------:allow
+> user:43:-w------------:-------:deny
+> user:43:-w------------:-------:allow
+> user:44:--------------:-------:deny
+> user:44:--x-----------:-------:allow
+> owner@:-wxp----------:-------:deny
+> owner@:r------A-W-Co-:-------:allow
+> group@:rw-p----------:-------:deny
+> group@:--x-----------:-------:allow
+> everyone@:r-x----A-W-Co-:-------:deny
+> everyone@:-w-p--a-R-c--s:-------:allow
+$ ls -l xxx | cut -d' ' -f1
+> -r----x-w-+
+
$ mkdir ddd
$ setfacl -a0 group:44:rwapd:allow ddd
$ setfacl -a0 group:43:write_data/delete_child:d:deny,group@:ad:allow ddd
$ setfacl -a0 user:42:rx:fi:allow,group:42:write_data/delete_child:d:allow ddd
$ setfacl -m everyone@:-w-p--a-R-c--s:fi:allow ddd
$ getfacl -n ddd
-> # file: ddd
-> # owner: root
-> # group: wheel
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:-d----:allow
-> group:43:-w--D---------:-d----:deny
-> group@:-----da-------:------:allow
-> group:44:rw-p-da-------:------:allow
-> owner@:--------------:------:deny
-> owner@:rwxp---A-W-Co-:------:allow
-> group@:-w-p----------:------:deny
-> group@:r-x-----------:------:allow
-> everyone@:-w-p---A-W-Co-:------:deny
-> everyone@:-w-p--a-R-c--s:f-i---:allow
-$ chmod 777 ddd
-$ getfacl -n ddd
-> # file: ddd
-> # owner: root
-> # group: wheel
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:-di---:allow
-> group:42:--------------:------:deny
-> group:42:-w--D---------:------:allow
-> group:43:-w--D---------:-di---:deny
-> group:43:-w--D---------:------:deny
-> group@:-----da-------:------:allow
-> group:44:--------------:------:deny
-> group:44:rw-p-da-------:------:allow
-> owner@:--------------:------:deny
-> owner@:-------A-W-Co-:------:allow
-> group@:--------------:------:deny
-> group@:--------------:------:allow
-> everyone@:-------A-W-Co-:------:deny
-> everyone@:-w-p--a-R-c--s:f-i---:allow
-> owner@:--------------:------:deny
-> owner@:rwxp---A-W-Co-:------:allow
-> group@:--------------:------:deny
-> group@:rwxp----------:------:allow
-> everyone@:-------A-W-Co-:------:deny
-> everyone@:rwxp--a-R-c--s:------:allow
-
-$ rmdir ddd
-$ mkdir ddd
+> # file: ddd
+> # owner: root
+> # group: wheel
+> user:42:r-x-----------:f-i----:allow
+> group:42:-w--D---------:-d-----:allow
+> group:43:-w--D---------:-d-----:deny
+> group@:-----da-------:-------:allow
+> group:44:rw-p-da-------:-------:allow
+> owner@:--------------:-------:deny
+> owner@:rwxp---A-W-Co-:-------:allow
+> group@:-w-p----------:-------:deny
+> group@:r-x-----------:-------:allow
+> everyone@:-w-p---A-W-Co-:-------:deny
+> everyone@:-w-p--a-R-c--s:f-i----:allow
+$ chmod 777 ddd
+$ getfacl -n ddd
+> # file: ddd
+> # owner: root
+> # group: wheel
+> user:42:r-x-----------:f-i----:allow
+> group:42:-w--D---------:-di----:allow
+> group:42:--------------:-------:deny
+> group:42:-w--D---------:-------:allow
+> group:43:-w--D---------:-di----:deny
+> group:43:-w--D---------:-------:deny
+> group@:-----da-------:-------:allow
+> group:44:--------------:-------:deny
+> group:44:rw-p-da-------:-------:allow
+> owner@:--------------:-------:deny
+> owner@:-------A-W-Co-:-------:allow
+> group@:--------------:-------:deny
+> group@:--------------:-------:allow
+> everyone@:-------A-W-Co-:-------:deny
+> everyone@:-w-p--a-R-c--s:f-i----:allow
+> owner@:--------------:-------:deny
+> owner@:rwxp---A-W-Co-:-------:allow
+> group@:--------------:-------:deny
+> group@:rwxp----------:-------:allow
+> everyone@:-------A-W-Co-:-------:deny
+> everyone@:rwxp--a-R-c--s:-------:allow
+
+$ rmdir ddd
+$ mkdir ddd
$ setfacl -a0 group:44:rwapd:allow ddd
$ setfacl -a0 group:43:write_data/delete_child:d:deny,group@:ad:allow ddd
$ setfacl -a0 user:42:rx:fi:allow,group:42:write_data/delete_child:d:allow ddd
$ setfacl -m everyone@:-w-p--a-R-c--s:fi:allow ddd
$ chmod 124 ddd
$ getfacl -n ddd
-> # file: ddd
-> # owner: root
-> # group: wheel
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:-di---:allow
-> group:42:--------------:------:deny
-> group:42:----D---------:------:allow
-> group:43:-w--D---------:-di---:deny
-> group:43:-w--D---------:------:deny
-> group@:-----da-------:------:allow
-> group:44:r-------------:------:deny
-> group:44:r----da-------:------:allow
-> owner@:--------------:------:deny
-> owner@:-------A-W-Co-:------:allow
-> group@:--------------:------:deny
-> group@:--------------:------:allow
-> everyone@:-------A-W-Co-:------:deny
-> everyone@:-w-p--a-R-c--s:f-i---:allow
-> owner@:rw-p----------:------:deny
-> owner@:--x----A-W-Co-:------:allow
-> group@:r-x-----------:------:deny
-> group@:-w-p----------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-$ rmdir ddd
-$ mkdir ddd
+> # file: ddd
+> # owner: root
+> # group: wheel
+> user:42:r-x-----------:f-i----:allow
+> group:42:-w--D---------:-di----:allow
+> group:42:--------------:-------:deny
+> group:42:----D---------:-------:allow
+> group:43:-w--D---------:-di----:deny
+> group:43:-w--D---------:-------:deny
+> group@:-----da-------:-------:allow
+> group:44:r-------------:-------:deny
+> group:44:r----da-------:-------:allow
+> owner@:--------------:-------:deny
+> owner@:-------A-W-Co-:-------:allow
+> group@:--------------:-------:deny
+> group@:--------------:-------:allow
+> everyone@:-------A-W-Co-:-------:deny
+> everyone@:-w-p--a-R-c--s:f-i----:allow
+> owner@:rw-p----------:-------:deny
+> owner@:--x----A-W-Co-:-------:allow
+> group@:r-x-----------:-------:deny
+> group@:-w-p----------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ rmdir ddd
+$ mkdir ddd
$ setfacl -a0 group:44:rwapd:allow ddd
$ setfacl -a0 group:43:write_data/delete_child:d:deny,group@:ad:allow ddd
$ setfacl -a0 user:42:rx:allow,user:42:rx:fi:allow,group:42:write_data/delete_child:d:allow ddd
$ setfacl -m everyone@:-w-p--a-R-c--s:fi:allow ddd
$ chmod 412 ddd
$ getfacl -n ddd
-> # file: ddd
-> # owner: root
-> # group: wheel
-> user:42:r-------------:------:deny
-> user:42:r-x-----------:------:allow
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:-di---:allow
-> group:42:-w------------:------:deny
-> group:42:-w--D---------:------:allow
-> group:43:-w--D---------:-di---:deny
-> group:43:-w--D---------:------:deny
-> group@:-----da-------:------:allow
-> group:44:rw-p----------:------:deny
-> group:44:rw-p-da-------:------:allow
-> owner@:--------------:------:deny
-> owner@:-------A-W-Co-:------:allow
-> group@:--------------:------:deny
-> group@:--------------:------:allow
-> everyone@:-------A-W-Co-:------:deny
-> everyone@:-w-p--a-R-c--s:f-i---:allow
-> owner@:-wxp----------:------:deny
-> owner@:r------A-W-Co-:------:allow
-> group@:rw-p----------:------:deny
-> group@:--x-----------:------:allow
-> everyone@:r-x----A-W-Co-:------:deny
-> everyone@:-w-p--a-R-c--s:------:allow
-
-$ rmdir ddd
-$ mkdir ddd
+> # file: ddd
+> # owner: root
+> # group: wheel
+> user:42:r-------------:-------:deny
+> user:42:r-x-----------:-------:allow
+> user:42:r-x-----------:f-i----:allow
+> group:42:-w--D---------:-di----:allow
+> group:42:-w------------:-------:deny
+> group:42:-w--D---------:-------:allow
+> group:43:-w--D---------:-di----:deny
+> group:43:-w--D---------:-------:deny
+> group@:-----da-------:-------:allow
+> group:44:rw-p----------:-------:deny
+> group:44:rw-p-da-------:-------:allow
+> owner@:--------------:-------:deny
+> owner@:-------A-W-Co-:-------:allow
+> group@:--------------:-------:deny
+> group@:--------------:-------:allow
+> everyone@:-------A-W-Co-:-------:deny
+> everyone@:-w-p--a-R-c--s:f-i----:allow
+> owner@:-wxp----------:-------:deny
+> owner@:r------A-W-Co-:-------:allow
+> group@:rw-p----------:-------:deny
+> group@:--x-----------:-------:allow
+> everyone@:r-x----A-W-Co-:-------:deny
+> everyone@:-w-p--a-R-c--s:-------:allow
+
+$ rmdir ddd
+$ mkdir ddd
$ setfacl -a0 group:44:rwapd:allow ddd
$ setfacl -a0 group:43:write_data/delete_child:d:deny,group@:ad:allow ddd
$ setfacl -a0 user:42:rx:allow,user:42:rx:fi:allow,group:42:write_data/delete_child:d:allow ddd
@@ -486,35 +486,35 @@
$ chown 42 ddd
$ chmod 412 ddd
$ getfacl -n ddd
-> # file: ddd
-> # owner: 42
-> # group: wheel
-> user:42:--x-----------:------:deny
-> user:42:r-x-----------:------:allow
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:-di---:allow
-> group:42:-w------------:------:deny
-> group:42:-w--D---------:------:allow
-> group:43:-w--D---------:-di---:deny
-> group:43:-w--D---------:------:deny
-> group@:-----da-------:------:allow
-> group:44:rw-p----------:------:deny
-> group:44:rw-p-da-------:------:allow
-> owner@:--------------:------:deny
-> owner@:-------A-W-Co-:------:allow
-> group@:--------------:------:deny
-> group@:--------------:------:allow
-> everyone@:-------A-W-Co-:------:deny
-> everyone@:-w-p--a-R-c--s:f-i---:allow
-> owner@:-wxp----------:------:deny
-> owner@:r------A-W-Co-:------:allow
-> group@:rw-p----------:------:deny
-> group@:--x-----------:------:allow
-> everyone@:r-x----A-W-Co-:------:deny
-> everyone@:-w-p--a-R-c--s:------:allow
-
-# Test applying ACL to mode.
-$ rmdir ddd
+> # file: ddd
+> # owner: 42
+> # group: wheel
+> user:42:--x-----------:-------:deny
+> user:42:r-x-----------:-------:allow
+> user:42:r-x-----------:f-i----:allow
+> group:42:-w--D---------:-di----:allow
+> group:42:-w------------:-------:deny
+> group:42:-w--D---------:-------:allow
+> group:43:-w--D---------:-di----:deny
+> group:43:-w--D---------:-------:deny
+> group@:-----da-------:-------:allow
+> group:44:rw-p----------:-------:deny
+> group:44:rw-p-da-------:-------:allow
+> owner@:--------------:-------:deny
+> owner@:-------A-W-Co-:-------:allow
+> group@:--------------:-------:deny
+> group@:--------------:-------:allow
+> everyone@:-------A-W-Co-:-------:deny
+> everyone@:-w-p--a-R-c--s:f-i----:allow
+> owner@:-wxp----------:-------:deny
+> owner@:r------A-W-Co-:-------:allow
+> group@:rw-p----------:-------:deny
+> group@:--x-----------:-------:allow
+> everyone@:r-x----A-W-Co-:-------:deny
+> everyone@:-w-p--a-R-c--s:-------:allow
+
+# Test applying ACL to mode.
+$ rmdir ddd
$ mkdir ddd
$ setfacl -a0 u:42:rwx:fi:allow ddd
$ ls -ld ddd | cut -d' ' -f1
@@ -554,143 +554,143 @@
$ setfacl -a0 group:43:write_data/write_acl:fin:deny,u:43:rwxp:allow ddd
$ setfacl -a0 user:42:rx:fi:allow,group:42:write_data/delete_child:dn:deny ddd
$ setfacl -a0 user:42:write_acl/write_owner:fi:allow ddd
-$ setfacl -a0 group:41:read_data/read_attributes:dni:allow ddd
-$ setfacl -a0 user:41:write_data/write_attributes:fn:allow ddd
-$ getfacl -qn ddd
-> user:41:-w-----A------:f--n--:allow
-> group:41:r-----a-------:-din--:allow
-> user:42:-----------Co-:f-i---:allow
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:-d-n--:deny
-> group:43:-w---------C--:f-in--:deny
-> user:43:rwxp----------:------:allow
-> owner@:--------------:------:deny
-> owner@:rwxp---A-W-Co-:------:allow
-> group@:-w-p----------:------:deny
-> group@:r-x-----------:------:allow
-> everyone@:-w-p---A-W-Co-:------:deny
-> everyone@:r-x---a-R-c--s:------:allow
-
-$ cd ddd
-$ touch xxx
-$ getfacl -qn xxx
-> user:41:-w------------:------:deny
-> user:41:-w-----A------:------:allow
-> user:42:--------------:------:deny
-> user:42:--------------:------:allow
-> user:42:--x-----------:------:deny
-> user:42:r-x-----------:------:allow
-> group:43:-w---------C--:------:deny
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-$ rm xxx
-$ umask 077
-$ touch xxx
-$ getfacl -qn xxx
-> user:41:-w------------:------:deny
-> user:41:-w-----A------:------:allow
-> user:42:--------------:------:deny
-> user:42:--------------:------:allow
-> user:42:r-x-----------:------:deny
-> user:42:r-x-----------:------:allow
-> group:43:-w---------C--:------:deny
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:rwxp----------:------:deny
-> group@:--------------:------:allow
-> everyone@:rwxp---A-W-Co-:------:deny
-> everyone@:------a-R-c--s:------:allow
-
-$ rm xxx
-$ umask 770
-$ touch xxx
-$ getfacl -qn xxx
-> user:41:-w------------:------:deny
-> user:41:-w-----A------:------:allow
-> user:42:--------------:------:deny
-> user:42:--------------:------:allow
-> user:42:r-x-----------:------:deny
-> user:42:r-x-----------:------:allow
-> group:43:-w---------C--:------:deny
-> owner@:rwxp----------:------:deny
-> owner@:-------A-W-Co-:------:allow
-> group@:rwxp----------:------:deny
-> group@:--------------:------:allow
-> everyone@:--x----A-W-Co-:------:deny
-> everyone@:rw-p--a-R-c--s:------:allow
-
-$ rm xxx
-$ umask 707
-$ touch xxx
-$ getfacl -qn xxx
-> user:41:--------------:------:deny
-> user:41:-w-----A------:------:allow
-> user:42:--------------:------:deny
-> user:42:--------------:------:allow
-> user:42:--x-----------:------:deny
-> user:42:r-x-----------:------:allow
-> group:43:-w---------C--:------:deny
-> owner@:rwxp----------:------:deny
-> owner@:-------A-W-Co-:------:allow
-> group@:--x-----------:------:deny
-> group@:rw-p----------:------:allow
-> everyone@:rwxp---A-W-Co-:------:deny
-> everyone@:------a-R-c--s:------:allow
-
-$ umask 077
-$ mkdir yyy
-$ getfacl -qn yyy
-> group:41:r-------------:------:deny
-> group:41:r-----a-------:------:allow
-> user:42:-----------Co-:f-i---:allow
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:------:deny
-> owner@:--------------:------:deny
-> owner@:rwxp---A-W-Co-:------:allow
-> group@:rwxp----------:------:deny
-> group@:--------------:------:allow
-> everyone@:rwxp---A-W-Co-:------:deny
-> everyone@:------a-R-c--s:------:allow
-
-$ rmdir yyy
-$ umask 770
-$ mkdir yyy
-$ getfacl -qn yyy
-> group:41:r-------------:------:deny
-> group:41:r-----a-------:------:allow
-> user:42:-----------Co-:f-i---:allow
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:------:deny
-> owner@:rwxp----------:------:deny
-> owner@:-------A-W-Co-:------:allow
-> group@:rwxp----------:------:deny
-> group@:--------------:------:allow
-> everyone@:-------A-W-Co-:------:deny
-> everyone@:rwxp--a-R-c--s:------:allow
-
-$ rmdir yyy
-$ umask 707
-$ mkdir yyy
-$ getfacl -qn yyy
-> group:41:--------------:------:deny
-> group:41:------a-------:------:allow
-> user:42:-----------Co-:f-i---:allow
-> user:42:r-x-----------:f-i---:allow
-> group:42:-w--D---------:------:deny
-> owner@:rwxp----------:------:deny
-> owner@:-------A-W-Co-:------:allow
-> group@:--------------:------:deny
-> group@:rwxp----------:------:allow
-> everyone@:rwxp---A-W-Co-:------:deny
-> everyone@:------a-R-c--s:------:allow
-
-# There is some complication regarding how write_acl and write_owner flags
-# get inherited. Make sure we got it right.
+$ setfacl -a0 group:41:read_data/read_attributes:dni:allow ddd
+$ setfacl -a0 user:41:write_data/write_attributes:fn:allow ddd
+$ getfacl -qn ddd
+> user:41:-w-----A------:f--n---:allow
+> group:41:r-----a-------:-din---:allow
+> user:42:-----------Co-:f-i----:allow
+> user:42:r-x-----------:f-i----:allow
+> group:42:-w--D---------:-d-n---:deny
+> group:43:-w---------C--:f-in---:deny
+> user:43:rwxp----------:-------:allow
+> owner@:--------------:-------:deny
+> owner@:rwxp---A-W-Co-:-------:allow
+> group@:-w-p----------:-------:deny
+> group@:r-x-----------:-------:allow
+> everyone@:-w-p---A-W-Co-:-------:deny
+> everyone@:r-x---a-R-c--s:-------:allow
+
+$ cd ddd
+$ touch xxx
+$ getfacl -qn xxx
+> user:41:-w------------:-------:deny
+> user:41:-w-----A------:-------:allow
+> user:42:--------------:-------:deny
+> user:42:--------------:-------:allow
+> user:42:--x-----------:-------:deny
+> user:42:r-x-----------:-------:allow
+> group:43:-w---------C--:-------:deny
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ rm xxx
+$ umask 077
+$ touch xxx
+$ getfacl -qn xxx
+> user:41:-w------------:-------:deny
+> user:41:-w-----A------:-------:allow
+> user:42:--------------:-------:deny
+> user:42:--------------:-------:allow
+> user:42:r-x-----------:-------:deny
+> user:42:r-x-----------:-------:allow
+> group:43:-w---------C--:-------:deny
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:rwxp----------:-------:deny
+> group@:--------------:-------:allow
+> everyone@:rwxp---A-W-Co-:-------:deny
+> everyone@:------a-R-c--s:-------:allow
+
+$ rm xxx
+$ umask 770
+$ touch xxx
+$ getfacl -qn xxx
+> user:41:-w------------:-------:deny
+> user:41:-w-----A------:-------:allow
+> user:42:--------------:-------:deny
+> user:42:--------------:-------:allow
+> user:42:r-x-----------:-------:deny
+> user:42:r-x-----------:-------:allow
+> group:43:-w---------C--:-------:deny
+> owner@:rwxp----------:-------:deny
+> owner@:-------A-W-Co-:-------:allow
+> group@:rwxp----------:-------:deny
+> group@:--------------:-------:allow
+> everyone@:--x----A-W-Co-:-------:deny
+> everyone@:rw-p--a-R-c--s:-------:allow
+
+$ rm xxx
+$ umask 707
+$ touch xxx
+$ getfacl -qn xxx
+> user:41:--------------:-------:deny
+> user:41:-w-----A------:-------:allow
+> user:42:--------------:-------:deny
+> user:42:--------------:-------:allow
+> user:42:--x-----------:-------:deny
+> user:42:r-x-----------:-------:allow
+> group:43:-w---------C--:-------:deny
+> owner@:rwxp----------:-------:deny
+> owner@:-------A-W-Co-:-------:allow
+> group@:--x-----------:-------:deny
+> group@:rw-p----------:-------:allow
+> everyone@:rwxp---A-W-Co-:-------:deny
+> everyone@:------a-R-c--s:-------:allow
+
+$ umask 077
+$ mkdir yyy
+$ getfacl -qn yyy
+> group:41:r-------------:-------:deny
+> group:41:r-----a-------:-------:allow
+> user:42:-----------Co-:f-i----:allow
+> user:42:r-x-----------:f-i----:allow
+> group:42:-w--D---------:-------:deny
+> owner@:--------------:-------:deny
+> owner@:rwxp---A-W-Co-:-------:allow
+> group@:rwxp----------:-------:deny
+> group@:--------------:-------:allow
+> everyone@:rwxp---A-W-Co-:-------:deny
+> everyone@:------a-R-c--s:-------:allow
+
+$ rmdir yyy
+$ umask 770
+$ mkdir yyy
+$ getfacl -qn yyy
+> group:41:r-------------:-------:deny
+> group:41:r-----a-------:-------:allow
+> user:42:-----------Co-:f-i----:allow
+> user:42:r-x-----------:f-i----:allow
+> group:42:-w--D---------:-------:deny
+> owner@:rwxp----------:-------:deny
+> owner@:-------A-W-Co-:-------:allow
+> group@:rwxp----------:-------:deny
+> group@:--------------:-------:allow
+> everyone@:-------A-W-Co-:-------:deny
+> everyone@:rwxp--a-R-c--s:-------:allow
+
+$ rmdir yyy
+$ umask 707
+$ mkdir yyy
+$ getfacl -qn yyy
+> group:41:--------------:-------:deny
+> group:41:------a-------:-------:allow
+> user:42:-----------Co-:f-i----:allow
+> user:42:r-x-----------:f-i----:allow
+> group:42:-w--D---------:-------:deny
+> owner@:rwxp----------:-------:deny
+> owner@:-------A-W-Co-:-------:allow
+> group@:--------------:-------:deny
+> group@:rwxp----------:-------:allow
+> everyone@:rwxp---A-W-Co-:-------:deny
+> everyone@:------a-R-c--s:-------:allow
+
+# There is some complication regarding how write_acl and write_owner flags
+# get inherited. Make sure we got it right.
$ setfacl -b .
$ setfacl -a0 u:42:Co:f:allow .
$ setfacl -a0 u:43:Co:d:allow .
@@ -705,66 +705,66 @@
$ setfacl -a0 u:52:Co:dni:allow .
$ setfacl -a0 u:53:Co:fdni:allow .
$ umask 022
-$ rm xxx
-$ touch xxx
-$ getfacl -nq xxx
-> user:53:--------------:------:deny
-> user:53:--------------:------:allow
-> user:51:--------------:------:deny
-> user:51:--------------:------:allow
-> user:50:--------------:------:deny
-> user:50:--------------:------:allow
-> user:48:--------------:------:deny
-> user:48:--------------:------:allow
-> user:47:--------------:------:deny
-> user:47:--------------:------:allow
-> user:45:--------------:------:deny
-> user:45:--------------:------:allow
-> user:44:--------------:------:deny
-> user:44:--------------:------:allow
-> user:42:--------------:------:deny
-> user:42:--------------:------:allow
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-$ rmdir yyy
-$ mkdir yyy
-$ getfacl -nq yyy
-> user:53:--------------:------:deny
-> user:53:--------------:------:allow
-> user:52:--------------:------:deny
-> user:52:--------------:------:allow
-> user:50:--------------:------:deny
-> user:50:--------------:------:allow
-> user:49:--------------:------:deny
-> user:49:--------------:------:allow
-> user:47:-----------Co-:fdi---:allow
-> user:47:--------------:------:deny
-> user:47:--------------:------:allow
-> user:46:-----------Co-:-di---:allow
-> user:46:--------------:------:deny
-> user:46:--------------:------:allow
-> user:45:-----------Co-:f-i---:allow
-> user:44:-----------Co-:fdi---:allow
-> user:44:--------------:------:deny
-> user:44:--------------:------:allow
-> user:43:-----------Co-:-di---:allow
-> user:43:--------------:------:deny
-> user:43:--------------:------:allow
-> user:42:-----------Co-:f-i---:allow
-> owner@:--------------:------:deny
-> owner@:rwxp---A-W-Co-:------:allow
-> group@:-w-p----------:------:deny
-> group@:r-x-----------:------:allow
-> everyone@:-w-p---A-W-Co-:------:deny
-> everyone@:r-x---a-R-c--s:------:allow
-
-$ setfacl -b .
-$ setfacl -a0 u:42:Co:f:deny .
+$ rm xxx
+$ touch xxx
+$ getfacl -nq xxx
+> user:53:--------------:-------:deny
+> user:53:--------------:-------:allow
+> user:51:--------------:-------:deny
+> user:51:--------------:-------:allow
+> user:50:--------------:-------:deny
+> user:50:--------------:-------:allow
+> user:48:--------------:-------:deny
+> user:48:--------------:-------:allow
+> user:47:--------------:-------:deny
+> user:47:--------------:-------:allow
+> user:45:--------------:-------:deny
+> user:45:--------------:-------:allow
+> user:44:--------------:-------:deny
+> user:44:--------------:-------:allow
+> user:42:--------------:-------:deny
+> user:42:--------------:-------:allow
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ rmdir yyy
+$ mkdir yyy
+$ getfacl -nq yyy
+> user:53:--------------:-------:deny
+> user:53:--------------:-------:allow
+> user:52:--------------:-------:deny
+> user:52:--------------:-------:allow
+> user:50:--------------:-------:deny
+> user:50:--------------:-------:allow
+> user:49:--------------:-------:deny
+> user:49:--------------:-------:allow
+> user:47:-----------Co-:fdi----:allow
+> user:47:--------------:-------:deny
+> user:47:--------------:-------:allow
+> user:46:-----------Co-:-di----:allow
+> user:46:--------------:-------:deny
+> user:46:--------------:-------:allow
+> user:45:-----------Co-:f-i----:allow
+> user:44:-----------Co-:fdi----:allow
+> user:44:--------------:-------:deny
+> user:44:--------------:-------:allow
+> user:43:-----------Co-:-di----:allow
+> user:43:--------------:-------:deny
+> user:43:--------------:-------:allow
+> user:42:-----------Co-:f-i----:allow
+> owner@:--------------:-------:deny
+> owner@:rwxp---A-W-Co-:-------:allow
+> group@:-w-p----------:-------:deny
+> group@:r-x-----------:-------:allow
+> everyone@:-w-p---A-W-Co-:-------:deny
+> everyone@:r-x---a-R-c--s:-------:allow
+
+$ setfacl -b .
+$ setfacl -a0 u:42:Co:f:deny .
$ setfacl -a0 u:43:Co:d:deny .
$ setfacl -a0 u:44:Co:fd:deny .
$ setfacl -a0 u:45:Co:fi:deny .
@@ -777,50 +777,50 @@
$ setfacl -a0 u:52:Co:dni:deny .
$ setfacl -a0 u:53:Co:fdni:deny .
$ umask 022
-$ rm xxx
-$ touch xxx
-$ getfacl -nq xxx
-> user:53:-----------Co-:------:deny
-> user:51:-----------Co-:------:deny
-> user:50:-----------Co-:------:deny
-> user:48:-----------Co-:------:deny
-> user:47:-----------Co-:------:deny
-> user:45:-----------Co-:------:deny
-> user:44:-----------Co-:------:deny
-> user:42:-----------Co-:------:deny
-> owner@:--x-----------:------:deny
-> owner@:rw-p---A-W-Co-:------:allow
-> group@:-wxp----------:------:deny
-> group@:r-------------:------:allow
-> everyone@:-wxp---A-W-Co-:------:deny
-> everyone@:r-----a-R-c--s:------:allow
-
-$ rmdir yyy
-$ mkdir yyy
-$ getfacl -nq yyy
-> user:53:-----------Co-:------:deny
-> user:52:-----------Co-:------:deny
-> user:50:-----------Co-:------:deny
-> user:49:-----------Co-:------:deny
-> user:47:-----------Co-:fdi---:deny
-> user:47:-----------Co-:------:deny
-> user:46:-----------Co-:-di---:deny
-> user:46:-----------Co-:------:deny
-> user:45:-----------Co-:f-i---:deny
-> user:44:-----------Co-:fdi---:deny
-> user:44:-----------Co-:------:deny
-> user:43:-----------Co-:-di---:deny
-> user:43:-----------Co-:------:deny
-> user:42:-----------Co-:f-i---:deny
-> owner@:--------------:------:deny
-> owner@:rwxp---A-W-Co-:------:allow
-> group@:-w-p----------:------:deny
-> group@:r-x-----------:------:allow
-> everyone@:-w-p---A-W-Co-:------:deny
-> everyone@:r-x---a-R-c--s:------:allow
-
-$ rmdir yyy
-$ rm xxx
+$ rm xxx
+$ touch xxx
+$ getfacl -nq xxx
+> user:53:-----------Co-:-------:deny
+> user:51:-----------Co-:-------:deny
+> user:50:-----------Co-:-------:deny
+> user:48:-----------Co-:-------:deny
+> user:47:-----------Co-:-------:deny
+> user:45:-----------Co-:-------:deny
+> user:44:-----------Co-:-------:deny
+> user:42:-----------Co-:-------:deny
+> owner@:--x-----------:-------:deny
+> owner@:rw-p---A-W-Co-:-------:allow
+> group@:-wxp----------:-------:deny
+> group@:r-------------:-------:allow
+> everyone@:-wxp---A-W-Co-:-------:deny
+> everyone@:r-----a-R-c--s:-------:allow
+
+$ rmdir yyy
+$ mkdir yyy
+$ getfacl -nq yyy
+> user:53:-----------Co-:-------:deny
+> user:52:-----------Co-:-------:deny
+> user:50:-----------Co-:-------:deny
+> user:49:-----------Co-:-------:deny
+> user:47:-----------Co-:fdi----:deny
+> user:47:-----------Co-:-------:deny
+> user:46:-----------Co-:-di----:deny
+> user:46:-----------Co-:-------:deny
+> user:45:-----------Co-:f-i----:deny
+> user:44:-----------Co-:fdi----:deny
+> user:44:-----------Co-:-------:deny
+> user:43:-----------Co-:-di----:deny
+> user:43:-----------Co-:-------:deny
+> user:42:-----------Co-:f-i----:deny
+> owner@:--------------:-------:deny
+> owner@:rwxp---A-W-Co-:-------:allow
+> group@:-w-p----------:-------:deny
+> group@:r-x-----------:-------:allow
+> everyone@:-w-p---A-W-Co-:-------:deny
+> everyone@:r-x---a-R-c--s:-------:allow
+
+$ rmdir yyy
+$ rm xxx
$ cd ..
$ rmdir ddd
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Tue, Apr 21, 7:02 AM (17 h, 50 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
31895604
Default Alt Text
D3540.id8465.diff (90 KB)
Attached To
Mode
D3540: Expose an interface to determine if an ACE is inherited.
Attached
Detach File
Event Timeline
Log In to Comment