PERFORCE change 147375 for review

Edward Tomasz Napierala trasz at FreeBSD.org
Thu Aug 14 12:54:09 UTC 2008


http://perforce.freebsd.org/chv.cgi?CH=147375

Change 147375 by trasz at trasz_traszkan on 2008/08/14 12:53:32

	Test applying mode to an ACL and vice versa.

Affected files ...

.. //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-nfs4.test#4 edit

Differences ...

==== //depot/projects/soc2008/trasz_nfs4acl/tools/regression/acltools/tools-nfs4.test#4 (text+ko) ====

@@ -177,7 +177,7 @@
 >          everyone@:-wxp---A-W-Co-:------:deny
 >          everyone@:r-----a-R-c--s:------:allow
 
-# Check whether chmod actually does what it should do.
+# Test applying mode to an ACL.
 $ rm xxx
 $ touch xxx
 $ setfacl -a0 user:42:r:allow,user:43:w:deny,user:43:w:allow,user:44:x:allow -x everyone@::allow xxx
@@ -278,9 +278,195 @@
 $ ls -l xxx | cut -d' ' -f1
 > -r----x-w-+
 
-# XXX: Verify what happens during chmodding with inheritance flags being set.
+$ 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
+$ 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
+$ setfacl -a0 u:42:rwx:fi:allow ddd
+$ ls -ld ddd | cut -d' ' -f1
+> drwxr-xr-x+
+
+$ rmdir ddd
+$ mkdir ddd
+$ chmod 0 ddd
+$ setfacl -a0 owner@:r:allow,group@:w:deny,group@:wx:allow ddd
+$ 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
+$ setfacl -a0 owner@:r:allow,group@:w:fi:deny,group@:wx:allow ddd
+$ ls -ld ddd | cut -d' ' -f1
+> dr----x---+
+
+$ rmdir ddd
+$ mkdir ddd
+$ chmod 0 ddd
+$ setfacl -a0 owner@:r:allow,group:43:w:deny,group:43:wx:allow ddd
+$ ls -ld ddd | cut -d' ' -f1
+> dr--------+
+
+$ rmdir ddd
+$ mkdir ddd
+$ chmod 0 ddd
+$ setfacl -a0 owner@:r:allow,user:43:w:deny,user:43:wx:allow ddd
+$ ls -ld ddd | cut -d' ' -f1
+> dr--------+
 
-# Inheritance tests.
+# Test inheritance.
+$ rmdir ddd
 $ mkdir ddd
 $ setfacl -a0 user:42:rx:fi:allow,group:42:write_data/delete_child:dn:deny ddd
 $ cd ddd


More information about the p4-projects mailing list