From owner-svn-src-head@FreeBSD.ORG Sun Dec 12 13:04:31 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0391D1065672; Sun, 12 Dec 2010 13:04:31 +0000 (UTC) (envelope-from trasz@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id E58C58FC0A; Sun, 12 Dec 2010 13:04:30 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id oBCD4UBc047377; Sun, 12 Dec 2010 13:04:30 GMT (envelope-from trasz@svn.freebsd.org) Received: (from trasz@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id oBCD4UX4047375; Sun, 12 Dec 2010 13:04:30 GMT (envelope-from trasz@svn.freebsd.org) Message-Id: <201012121304.oBCD4UX4047375@svn.freebsd.org> From: Edward Tomasz Napierala Date: Sun, 12 Dec 2010 13:04:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r216393 - head/tools/regression/acltools X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 12 Dec 2010 13:04:31 -0000 Author: trasz Date: Sun Dec 12 13:04:30 2010 New Revision: 216393 URL: http://svn.freebsd.org/changeset/base/216393 Log: Add regression test for new NFSv4 ACL semantics, verified with ZFSv28. Note that to run it, you need not only ZFSv28, but also a modified setfacl(1), which is not in the tree yet. Added: head/tools/regression/acltools/tools-nfs4-psarc.test - copied, changed from r214369, head/tools/regression/acltools/tools-nfs4.test Copied and modified: head/tools/regression/acltools/tools-nfs4-psarc.test (from r214369, head/tools/regression/acltools/tools-nfs4.test) ============================================================================== --- head/tools/regression/acltools/tools-nfs4.test Tue Oct 26 02:34:47 2010 (r214369, copy source) +++ head/tools/regression/acltools/tools-nfs4-psarc.test Sun Dec 12 13:04:30 2010 (r216393) @@ -25,10 +25,10 @@ # $FreeBSD$ # -# This is a tools-level test for NFSv4 ACL functionality. Run it as root -# using ACL-enabled kernel: +# This is a tools-level test for NFSv4 ACL functionality with PSARC/2010/029 +# semantics. Run it as root using ACL-enabled kernel: # -# /usr/src/tools/regression/acltools/run /usr/src/tools/regression/acltools/tools-nfs4.test +# /usr/src/tools/regression/acltools/run /usr/src/tools/regression/acltools/tools-nfs4-psarc.test # # WARNING: Creates files in unsafe way. @@ -42,19 +42,13 @@ $ 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 +> owner@:rw-p--aARWcCos:------:allow +> group@:r-----a-R-c--s:------:allow > 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 +> owner@:rw-p--aARWcCos:------:allow +> group@:r-----a-R-c--s:------:allow > everyone@:r-----a-R-c--s:------:allow # Check verbose mode formatting. @@ -62,11 +56,8 @@ $ getfacl -v xxx > # file: xxx > # owner: root > # group: wheel -> owner@:execute::deny -> owner@:read_data/write_data/append_data/write_attributes/write_xattr/write_acl/write_owner::allow -> group@:write_data/execute/append_data::deny -> group@:read_data::allow -> everyone@:write_data/execute/append_data/write_attributes/write_xattr/write_acl/write_owner::deny +> owner@:read_data/write_data/append_data/read_attributes/write_attributes/read_xattr/write_xattr/read_acl/write_acl/write_owner/synchronize::allow +> group@:read_data/read_attributes/read_xattr/read_acl/synchronize::allow > everyone@:read_data/read_attributes/read_xattr/read_acl/synchronize::allow # Test setfacl -a. @@ -75,13 +66,10 @@ $ getfacl -n xxx > # file: xxx > # owner: root > # group: wheel -> owner@:--x-----------:------:deny -> owner@:rw-p---A-W-Co-:------:allow +> owner@:rw-p--aARWcCos:------:allow +> group@:r-----a-R-c--s:------: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. @@ -92,13 +80,10 @@ $ getfacl xxx > # file: xxx > # owner: root > # group: wheel -> owner@:--x-----------:------:deny -> owner@:rw-p---A-W-Co-:------:allow +> owner@:rw-p--aARWcCos:------:allow +> group@:r-----a-R-c--s:------: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 "+". @@ -106,17 +91,14 @@ $ ls -l xxx | cut -d' ' -f1 > -rw-r--r--+ # Test removing entries by number. -$ setfacl -x 4 xxx -$ setfacl -x 4 xxx +$ setfacl -x 1 xxx $ getfacl -n xxx > # file: xxx > # owner: root > # group: wheel -> owner@:--x-----------:------:deny -> owner@:rw-p---A-W-Co-:------:allow +> owner@:rw-p--aARWcCos:------: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. @@ -131,11 +113,9 @@ $ getfacl -n xxx > everyone@:--------------:------:deny > everyone@:--------------:------:deny > everyone@:--------------:------:deny -> owner@:--x-----------:------:deny -> owner@:rw-p---A-W-Co-:------:allow +> owner@:rw-p--aARWcCos:------:allow > user:0:-----------C--:------:allow > group:1:----------c---:------:deny -> everyone@:--------------:------:deny > everyone@:r-----a-R-c--s:------:allow # Test getfacl -i. @@ -146,11 +126,9 @@ $ getfacl -i xxx > everyone@:--------------:------:deny > everyone@:--------------:------:deny > everyone@:--------------:------:deny -> owner@:--x-----------:------:deny -> owner@:rw-p---A-W-Co-:------:allow +> owner@:rw-p--aARWcCos:------: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. @@ -168,11 +146,9 @@ $ getfacl -n yyy > everyone@:--------------:------:deny > everyone@:--------------:------:deny > everyone@:--------------:------:deny -> owner@:--x-----------:------:deny -> owner@:rw-p---A-W-Co-:------:allow +> owner@:rw-p--aARWcCos:------:allow > user:0:-----------C--:------:allow > group:1:----------c---:------:deny -> everyone@:--------------:------:deny > everyone@:r-----a-R-c--s:------:allow $ rm yyy @@ -183,8 +159,7 @@ $ getfacl -n xxx > # file: xxx > # owner: root > # group: wheel -> owner@:--x-----------:------:deny -> owner@:rw-p---A-W-Co-:------:allow +> owner@:rw-p--aARWcCos:------:allow > user:0:-----------C--:------:allow > group:1:----------c---:------:deny > everyone@:r-----a-R-c--s:------:allow @@ -195,11 +170,8 @@ $ 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 +> 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 @@ -226,29 +198,20 @@ $ 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 +> 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@:--x-----------:------:deny -> owner@:rw-p---A-W-Co-:------:allow -> group@:-wxp----------:------:deny -> group@:r-------------:------:allow -> everyone@:-wxp---A-W-Co-:------:deny +> 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@:--x-----------:------:deny -> owner@:rw-p---A-W-Co-:------:allow -> group@:-wxp----------:------:deny -> group@:r-------------:------:allow -> everyone@:-wxp---A-W-Co-:------:deny +> 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 @@ -270,25 +233,12 @@ $ 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 +> owner@:rw-p--aARWcCos:------:allow +> group@:------a-R-c--s:------:allow > everyone@:------a-R-c--s:------:allow + $ ls -l xxx | cut -d' ' -f1 -> -rw-------+ +> -rw------- $ rm xxx $ touch xxx @@ -299,20 +249,11 @@ $ 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 +> owner@:rw-p--aARWcCos:------:allow +> group@:------a-R-c--s:------:allow > everyone@:------a-R-c--s:------:allow $ ls -l xxx | cut -d' ' -f1 -> -rw-------+ +> -rw------- $ rm xxx $ touch xxx @@ -323,20 +264,13 @@ $ 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 +> 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--+ +> ---x-w-r-- $ rm xxx $ touch xxx @@ -347,20 +281,13 @@ $ 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 +> 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-+ +> -r----x-w- $ mkdir ddd $ setfacl -a0 group:44:rwapd:allow ddd @@ -376,143 +303,19 @@ $ getfacl -n ddd > 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 +> 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 -> 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 +> owner@:rwxp--aARWcCos:------:allow +> group@:rwxp--a-R-c--s:------:allow > 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 -$ 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 -$ 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 -$ 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 $ mkdir ddd @@ -527,7 +330,6 @@ $ setfacl -a0 owner@:r:allow,group@:w:de $ ls -ld ddd | cut -d' ' -f1 > dr----x---+ -# XXX: This one is fishy. Shouldn't it be "dr---wx---+"? $ rmdir ddd $ mkdir ddd $ chmod 0 ddd @@ -565,129 +367,96 @@ $ getfacl -qn ddd > 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 +> 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:-w------------:------:deny -> user:41:-w-----A------:------:allow -> user:42:--------------:------:deny +> user:41:--------------:------:allow > user:42:--------------:------:allow -> user:42:--x-----------:------:deny -> user:42:r-x-----------:------:allow +> user:42:r-------------:------: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 +> 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:-w------------:------:deny -> user:41:-w-----A------:------:allow -> user:42:--------------:------:deny +> user:41:--------------:------:allow +> user:42:--------------:------:allow > 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 +> 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 -> user:41:-w------------:------:deny -> user:41:-w-----A------:------:allow -> user:42:--------------:------:deny +> owner@:rw-p----------:------:deny +> group@:rw-p----------:------:deny +> user:41:--------------:------:allow +> user:42:--------------:------:allow > 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 +> 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 -> user:41:--------------:------:deny -> user:41:-w-----A------:------:allow -> user:42:--------------:------:deny +> owner@:rw-p----------:------:deny +> user:41:-w------------:------:allow > user:42:--------------:------:allow -> user:42:--x-----------:------:deny -> user:42:r-x-----------:------:allow +> user:42:r-------------:------: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 +> 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:r-------------:------:deny -> group:41:r-----a-------:------:allow +> group:41:------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 +> 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 -> group:41:r-------------:------:deny -> group:41:r-----a-------:------:allow +> 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@:rwxp----------:------:deny -> owner@:-------A-W-Co-:------:allow -> group@:rwxp----------:------:deny -> group@:--------------:------:allow -> everyone@:-------A-W-Co-:------: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 -> group:41:--------------:------:deny -> group:41:------a-------:------:allow +> 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@:rwxp----------:------:deny -> owner@:-------A-W-Co-:------:allow -> group@:--------------:------:deny -> group@:rwxp----------:------:allow -> everyone@:rwxp---A-W-Co-:------: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 @@ -709,59 +478,33 @@ $ 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 +> 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:--------------:------: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:47:--------------:fd----:allow +> user:46:--------------:-d----: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:44:--------------:fd----:allow +> user:43:--------------:-d----: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 +> owner@:rwxp--aARWcCos:------:allow +> group@:r-x---a-R-c--s:------:allow > everyone@:r-x---a-R-c--s:------:allow $ setfacl -b . @@ -789,11 +532,8 @@ $ getfacl -nq xxx > 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 +> owner@:rw-p--aARWcCos:------:allow +> group@:r-----a-R-c--s:------:allow > everyone@:r-----a-R-c--s:------:allow $ rmdir yyy @@ -803,21 +543,14 @@ $ getfacl -nq yyy > 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:47:-----------Co-:fd----:deny +> user:46:-----------Co-:-d----: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:44:-----------Co-:fd----:deny +> user:43:-----------Co-:-d----: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 +> owner@:rwxp--aARWcCos:------:allow +> group@:r-x---a-R-c--s:------:allow > everyone@:r-x---a-R-c--s:------:allow $ rmdir yyy