2 ! Pretty comprehensive ACL tests.
4 ! This must be run on a filesystem with ACL support. Also, you will need
5 ! two dummy users (lisa and joe) and a dummy group (toolies).
9 ! Only change a base ACL:
11 $ setfacl -m u::rw,u:lisa:rw f
14 $ getfacl --omit-header f
24 $ setfacl -m u:lisa:rw f
27 $ getfacl --omit-header f
37 $ setfacl -m u:lisa:rwx d
40 $ getfacl --omit-header d
50 $ setfacl -m u:lisa:rwx d
53 $ getfacl --omit-header d
66 $ setfacl -m u:lisa:rw,u:joe:r f
69 $ getfacl --omit-header f
80 $ setfacl -m g:users:rw,g:toolies:r f
83 $ getfacl --omit-header f
96 $ setfacl -x g:users f
99 $ getfacl --omit-header f
114 $ getfacl --omit-header f
128 $ setfacl -m u:lisa:rwx,u:joe:rw,d:u:lisa:rwx,d:m:rx d
131 $ getfacl --omit-header d
139 default:user:lisa:rwx #effective:r-x
151 $ getfacl --omit-header d/f
153 user:lisa:rwx #effective:r--
154 group::r-x #effective:r--
163 $ getfacl --omit-header d/f
165 user:lisa:rwx #effective:r--
166 group::r-x #effective:r--
172 ! Default ACL copying
178 $ getfacl --omit-header d/d
180 user:lisa:rwx #effective:r-x
185 default:user:lisa:rwx #effective:r-x
195 $ getfacl --omit-header d/d
197 user:lisa:rwx #effective:r-x
202 default:user:lisa:rwx #effective:r-x
208 ! Add some users and groups
210 $ setfacl -nm u:joe:rx,d:u:joe:rx,g:users:rx,g:toolies:rwx d/d
213 $ getfacl --omit-header d/d
216 user:lisa:rwx #effective:r-x
219 group:toolies:rwx #effective:r-x
224 default:user:lisa:rwx #effective:r-x
230 ! symlink in directory with default ACL?
237 $ getfacl --omit-header d/l
240 user:lisa:rwx #effective:r-x
243 group:toolies:rwx #effective:r-x
248 default:user:lisa:rwx #effective:r-x
255 ! Does mask manipulation work?
257 $ setfacl -m g:toolies:rx,u:lisa:rx d/d
260 $ getfacl --omit-header d/d
271 default:user:lisa:rwx #effective:r-x
276 $ setfacl -m d:u:lisa:rwx d/d
279 $ getfacl --omit-header d/d
290 default:user:lisa:rwx
297 ! Remove the default ACL
302 $ getfacl --omit-header d
311 ! Reset to base entries
316 $ getfacl --omit-header d
322 ! Now, chmod should change the group_obj entry
327 $ getfacl --omit-header d
335 $ setfacl -m u:joe:rwx,u:lisa:rx,d:u:joe:rwx,d:u:lisa:rx d
338 $ getfacl --omit-header d
347 default:user:lisa:r-x
355 $ getfacl --omit-header d
357 user:joe:rwx #effective:r-x
359 group::rwx #effective:r-x
364 default:user:lisa:r-x
372 $ getfacl --omit-header d
374 user:joe:rwx #effective:r-x
376 group::rwx #effective:r-x
381 default:user:lisa:r-x