|
rpm-build |
0a0c83 |
Pretty comprehensive ACL tests.
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
This must be run on a filesystem with ACL support. Also, you will need
|
|
rpm-build |
0a0c83 |
two dummy users (bin and daemon) and a dummy group (daemon).
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ rm -f f
|
|
rpm-build |
0a0c83 |
$ umask 027
|
|
rpm-build |
0a0c83 |
$ touch f
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Only change a base ACL:
|
|
rpm-build |
0a0c83 |
$ chacl u::rw,g::r,o::- f
|
|
rpm-build |
0a0c83 |
$ setfacl -m u::r f
|
|
rpm-build |
0a0c83 |
$ setfacl -m u::rw,u:bin:rw f
|
|
rpm-build |
0a0c83 |
$ ls -dl f | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> -rw-rw----+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header f
|
|
rpm-build |
0a0c83 |
> user::rw-
|
|
rpm-build |
0a0c83 |
> user:bin:rw-
|
|
rpm-build |
0a0c83 |
> group::r--
|
|
rpm-build |
0a0c83 |
> mask::rw-
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ rm f
|
|
rpm-build |
0a0c83 |
$ umask 022
|
|
rpm-build |
0a0c83 |
$ touch f
|
|
rpm-build |
0a0c83 |
$ setfacl -m u:bin:rw f
|
|
rpm-build |
0a0c83 |
$ ls -dl f | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> -rw-rw-r--+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header f
|
|
rpm-build |
0a0c83 |
> user::rw-
|
|
rpm-build |
0a0c83 |
> user:bin:rw-
|
|
rpm-build |
0a0c83 |
> group::r--
|
|
rpm-build |
0a0c83 |
> mask::rw-
|
|
rpm-build |
0a0c83 |
> other::r--
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$rm f
|
|
rpm-build |
0a0c83 |
$ umask 027
|
|
rpm-build |
0a0c83 |
$ mkdir d
|
|
rpm-build |
0a0c83 |
$ setfacl -m u:bin:rwx d
|
|
rpm-build |
0a0c83 |
$ ls -dl d | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxrwx---+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:rwx
|
|
rpm-build |
0a0c83 |
> group::r-x
|
|
rpm-build |
0a0c83 |
> mask::rwx
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ rmdir d
|
|
rpm-build |
0a0c83 |
$ umask 022
|
|
rpm-build |
0a0c83 |
$ mkdir d
|
|
rpm-build |
0a0c83 |
$ setfacl -m u:bin:rwx d
|
|
rpm-build |
0a0c83 |
$ ls -dl d | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxrwxr-x+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:rwx
|
|
rpm-build |
0a0c83 |
> group::r-x
|
|
rpm-build |
0a0c83 |
> mask::rwx
|
|
rpm-build |
0a0c83 |
> other::r-x
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ rmdir d
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Multiple users
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ umask 022
|
|
rpm-build |
0a0c83 |
$ touch f
|
|
rpm-build |
0a0c83 |
$ setfacl -m u:bin:rw,u:daemon:r f
|
|
rpm-build |
0a0c83 |
$ ls -dl f | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> -rw-rw-r--+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header f
|
|
rpm-build |
0a0c83 |
> user::rw-
|
|
rpm-build |
0a0c83 |
> user:bin:rw-
|
|
rpm-build |
0a0c83 |
> user:daemon:r--
|
|
rpm-build |
0a0c83 |
> group::r--
|
|
rpm-build |
0a0c83 |
> mask::rw-
|
|
rpm-build |
0a0c83 |
> other::r--
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Multiple groups
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ setfacl -m g:users:rw,g:daemon:r f
|
|
rpm-build |
0a0c83 |
$ ls -dl f | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> -rw-rw-r--+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header f
|
|
rpm-build |
0a0c83 |
> user::rw-
|
|
rpm-build |
0a0c83 |
> user:bin:rw-
|
|
rpm-build |
0a0c83 |
> user:daemon:r--
|
|
rpm-build |
0a0c83 |
> group::r--
|
|
rpm-build |
0a0c83 |
> group:daemon:r--
|
|
rpm-build |
0a0c83 |
> group:users:rw-
|
|
rpm-build |
0a0c83 |
> mask::rw-
|
|
rpm-build |
0a0c83 |
> other::r--
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Remove one group
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ setfacl -x g:users f
|
|
rpm-build |
0a0c83 |
$ ls -dl f | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> -rw-rw-r--+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header f
|
|
rpm-build |
0a0c83 |
> user::rw-
|
|
rpm-build |
0a0c83 |
> user:bin:rw-
|
|
rpm-build |
0a0c83 |
> user:daemon:r--
|
|
rpm-build |
0a0c83 |
> group::r--
|
|
rpm-build |
0a0c83 |
> group:daemon:r--
|
|
rpm-build |
0a0c83 |
> mask::rw-
|
|
rpm-build |
0a0c83 |
> other::r--
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Remove one user
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ setfacl -x u:daemon f
|
|
rpm-build |
0a0c83 |
$ ls -dl f | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> -rw-rw-r--+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header f
|
|
rpm-build |
0a0c83 |
> user::rw-
|
|
rpm-build |
0a0c83 |
> user:bin:rw-
|
|
rpm-build |
0a0c83 |
> group::r--
|
|
rpm-build |
0a0c83 |
> group:daemon:r--
|
|
rpm-build |
0a0c83 |
> mask::rw-
|
|
rpm-build |
0a0c83 |
> other::r--
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ rm f
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Default ACL
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ umask 027
|
|
rpm-build |
0a0c83 |
$ mkdir d
|
|
rpm-build |
0a0c83 |
$ setfacl -m u:bin:rwx,u:daemon:rw,d:u:bin:rwx,d:m:rx d
|
|
rpm-build |
0a0c83 |
$ ls -dl d | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxrwx---+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:rwx
|
|
rpm-build |
0a0c83 |
> user:daemon:rw-
|
|
rpm-build |
0a0c83 |
> group::r-x
|
|
rpm-build |
0a0c83 |
> mask::rwx
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
> default:user::rwx
|
|
rpm-build |
0a0c83 |
> default:user:bin:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> default:group::r-x
|
|
rpm-build |
0a0c83 |
> default:mask::r-x
|
|
rpm-build |
0a0c83 |
> default:other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Umask now ignored?
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ umask 027
|
|
rpm-build |
0a0c83 |
$ touch d/f
|
|
rpm-build |
0a0c83 |
$ ls -dl d/f | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> -rw-r-----+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d/f
|
|
rpm-build |
0a0c83 |
> user::rw-
|
|
rpm-build |
0a0c83 |
> user:bin:rwx #effective:r--
|
|
rpm-build |
0a0c83 |
> group::r-x #effective:r--
|
|
rpm-build |
0a0c83 |
> mask::r--
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ rm d/f
|
|
rpm-build |
0a0c83 |
$ umask 022
|
|
rpm-build |
0a0c83 |
$ touch d/f
|
|
rpm-build |
0a0c83 |
$ ls -dl d/f | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> -rw-r-----+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d/f
|
|
rpm-build |
0a0c83 |
> user::rw-
|
|
rpm-build |
0a0c83 |
> user:bin:rwx #effective:r--
|
|
rpm-build |
0a0c83 |
> group::r-x #effective:r--
|
|
rpm-build |
0a0c83 |
> mask::r--
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ rm d/f
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Default ACL copying
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ umask 000
|
|
rpm-build |
0a0c83 |
$ mkdir d/d
|
|
rpm-build |
0a0c83 |
$ ls -dl d/d | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxr-x---+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d/d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> group::r-x
|
|
rpm-build |
0a0c83 |
> mask::r-x
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
> default:user::rwx
|
|
rpm-build |
0a0c83 |
> default:user:bin:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> default:group::r-x
|
|
rpm-build |
0a0c83 |
> default:mask::r-x
|
|
rpm-build |
0a0c83 |
> default:other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ rmdir d/d
|
|
rpm-build |
0a0c83 |
$ umask 022
|
|
rpm-build |
0a0c83 |
$ mkdir d/d
|
|
rpm-build |
0a0c83 |
$ ls -dl d/d | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxr-x---+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d/d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> group::r-x
|
|
rpm-build |
0a0c83 |
> mask::r-x
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
> default:user::rwx
|
|
rpm-build |
0a0c83 |
> default:user:bin:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> default:group::r-x
|
|
rpm-build |
0a0c83 |
> default:mask::r-x
|
|
rpm-build |
0a0c83 |
> default:other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Add some users and groups
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ setfacl -nm u:daemon:rx,d:u:daemon:rx,g:users:rx,g:daemon:rwx d/d
|
|
rpm-build |
0a0c83 |
$ ls -dl d/d | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxr-x---+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d/d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> user:daemon:r-x
|
|
rpm-build |
0a0c83 |
> group::r-x
|
|
rpm-build |
0a0c83 |
> group:daemon:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> group:users:r-x
|
|
rpm-build |
0a0c83 |
> mask::r-x
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
> default:user::rwx
|
|
rpm-build |
0a0c83 |
> default:user:bin:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> default:user:daemon:r-x
|
|
rpm-build |
0a0c83 |
> default:group::r-x
|
|
rpm-build |
0a0c83 |
> default:mask::r-x
|
|
rpm-build |
0a0c83 |
> default:other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Symlink in directory with default ACL?
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ ln -s d d/l
|
|
rpm-build |
0a0c83 |
$ ls -dl d/l | awk '{print $1}' | sed 's/\\.$//g'
|
|
rpm-build |
0a0c83 |
> lrwxrwxrwx
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ ls -dl -L d/l | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxr-x---+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d/l
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> user:daemon:r-x
|
|
rpm-build |
0a0c83 |
> group::r-x
|
|
rpm-build |
0a0c83 |
> group:daemon:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> group:users:r-x
|
|
rpm-build |
0a0c83 |
> mask::r-x
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
> default:user::rwx
|
|
rpm-build |
0a0c83 |
> default:user:bin:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> default:user:daemon:r-x
|
|
rpm-build |
0a0c83 |
> default:group::r-x
|
|
rpm-build |
0a0c83 |
> default:mask::r-x
|
|
rpm-build |
0a0c83 |
> default:other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ rm d/l
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Does mask manipulation work?
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ setfacl -m g:daemon:rx,u:bin:rx d/d
|
|
rpm-build |
0a0c83 |
$ ls -dl d/d | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxr-x---+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d/d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:r-x
|
|
rpm-build |
0a0c83 |
> user:daemon:r-x
|
|
rpm-build |
0a0c83 |
> group::r-x
|
|
rpm-build |
0a0c83 |
> group:daemon:r-x
|
|
rpm-build |
0a0c83 |
> group:users:r-x
|
|
rpm-build |
0a0c83 |
> mask::r-x
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
> default:user::rwx
|
|
rpm-build |
0a0c83 |
> default:user:bin:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> default:user:daemon:r-x
|
|
rpm-build |
0a0c83 |
> default:group::r-x
|
|
rpm-build |
0a0c83 |
> default:mask::r-x
|
|
rpm-build |
0a0c83 |
> default:other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ setfacl -m d:u:bin:rwx d/d
|
|
rpm-build |
0a0c83 |
$ ls -dl d/d | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxr-x---+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d/d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:r-x
|
|
rpm-build |
0a0c83 |
> user:daemon:r-x
|
|
rpm-build |
0a0c83 |
> group::r-x
|
|
rpm-build |
0a0c83 |
> group:daemon:r-x
|
|
rpm-build |
0a0c83 |
> group:users:r-x
|
|
rpm-build |
0a0c83 |
> mask::r-x
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
> default:user::rwx
|
|
rpm-build |
0a0c83 |
> default:user:bin:rwx
|
|
rpm-build |
0a0c83 |
> default:user:daemon:r-x
|
|
rpm-build |
0a0c83 |
> default:group::r-x
|
|
rpm-build |
0a0c83 |
> default:mask::rwx
|
|
rpm-build |
0a0c83 |
> default:other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ rmdir d/d
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Remove the default ACL
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ setfacl -k d
|
|
rpm-build |
0a0c83 |
$ ls -dl d | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxrwx---+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:rwx
|
|
rpm-build |
0a0c83 |
> user:daemon:rw-
|
|
rpm-build |
0a0c83 |
> group::r-x
|
|
rpm-build |
0a0c83 |
> mask::rwx
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Reset to base entries
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ setfacl -b d
|
|
rpm-build |
0a0c83 |
$ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
|
|
rpm-build |
0a0c83 |
> drwxr-x---
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> group::r-x
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Now, chmod should change the group_obj entry
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ chmod 775 d
|
|
rpm-build |
0a0c83 |
$ ls -dl d | awk '{print $1}' | sed 's/\\.$//g'
|
|
rpm-build |
0a0c83 |
> drwxrwxr-x
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> group::rwx
|
|
rpm-build |
0a0c83 |
> other::r-x
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ rmdir d
|
|
rpm-build |
0a0c83 |
$ umask 002
|
|
rpm-build |
0a0c83 |
$ mkdir d
|
|
rpm-build |
0a0c83 |
$ setfacl -m u:daemon:rwx,u:bin:rx,d:u:daemon:rwx,d:u:bin:rx d
|
|
rpm-build |
0a0c83 |
$ ls -dl d | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxrwxr-x+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:r-x
|
|
rpm-build |
0a0c83 |
> user:daemon:rwx
|
|
rpm-build |
0a0c83 |
> group::rwx
|
|
rpm-build |
0a0c83 |
> mask::rwx
|
|
rpm-build |
0a0c83 |
> other::r-x
|
|
rpm-build |
0a0c83 |
> default:user::rwx
|
|
rpm-build |
0a0c83 |
> default:user:bin:r-x
|
|
rpm-build |
0a0c83 |
> default:user:daemon:rwx
|
|
rpm-build |
0a0c83 |
> default:group::rwx
|
|
rpm-build |
0a0c83 |
> default:mask::rwx
|
|
rpm-build |
0a0c83 |
> default:other::r-x
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ chmod 750 d
|
|
rpm-build |
0a0c83 |
$ ls -dl d | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxr-x---+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:r-x
|
|
rpm-build |
0a0c83 |
> user:daemon:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> group::rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> mask::r-x
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
> default:user::rwx
|
|
rpm-build |
0a0c83 |
> default:user:bin:r-x
|
|
rpm-build |
0a0c83 |
> default:user:daemon:rwx
|
|
rpm-build |
0a0c83 |
> default:group::rwx
|
|
rpm-build |
0a0c83 |
> default:mask::rwx
|
|
rpm-build |
0a0c83 |
> default:other::r-x
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ chmod 750 d
|
|
rpm-build |
0a0c83 |
$ ls -dl d | awk '{print $1}'
|
|
rpm-build |
0a0c83 |
> drwxr-x---+
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:r-x
|
|
rpm-build |
0a0c83 |
> user:daemon:rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> group::rwx #effective:r-x
|
|
rpm-build |
0a0c83 |
> mask::r-x
|
|
rpm-build |
0a0c83 |
> other::---
|
|
rpm-build |
0a0c83 |
> default:user::rwx
|
|
rpm-build |
0a0c83 |
> default:user:bin:r-x
|
|
rpm-build |
0a0c83 |
> default:user:daemon:rwx
|
|
rpm-build |
0a0c83 |
> default:group::rwx
|
|
rpm-build |
0a0c83 |
> default:mask::rwx
|
|
rpm-build |
0a0c83 |
> default:other::r-x
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ rmdir d
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Dangling symlink test http://savannah.nongnu.org/bugs/?28131
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ mkdir d
|
|
rpm-build |
0a0c83 |
$ ln -s d/a d/b
|
|
rpm-build |
0a0c83 |
$ getfacl -R d
|
|
rpm-build |
0a0c83 |
> # file: d
|
|
rpm-build |
0a0c83 |
> # owner: %TUSER
|
|
rpm-build |
0a0c83 |
> # group: %TGROUP
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> group::rwx
|
|
rpm-build |
0a0c83 |
> other::r-x
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
$ setfacl -R -m u:bin:rw d
|
|
rpm-build |
0a0c83 |
$ getfacl -RL d
|
|
rpm-build |
0a0c83 |
> getfacl: d/b: No such file or directory
|
|
rpm-build |
0a0c83 |
> # file: d
|
|
rpm-build |
0a0c83 |
> # owner: %TUSER
|
|
rpm-build |
0a0c83 |
> # group: %TGROUP
|
|
rpm-build |
0a0c83 |
> user::rwx
|
|
rpm-build |
0a0c83 |
> user:bin:rw-
|
|
rpm-build |
0a0c83 |
> group::rwx
|
|
rpm-build |
0a0c83 |
> mask::rwx
|
|
rpm-build |
0a0c83 |
> other::r-x
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
$ setfacl -RL -m u:bin:rw d
|
|
rpm-build |
0a0c83 |
> setfacl: d/b: No such file or directory
|
|
rpm-build |
0a0c83 |
$ rm -R d
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Handle escaped literal backslash followed by numeric username
|
|
rpm-build |
0a0c83 |
$ mkdir d
|
|
rpm-build |
0a0c83 |
$ touch d/f
|
|
rpm-build |
0a0c83 |
$ setfacl -m u:domain\\\\12345:rw- d/f
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d/f
|
|
rpm-build |
0a0c83 |
> user::rw-
|
|
rpm-build |
0a0c83 |
> user:domain\\12345:rw-
|
|
rpm-build |
0a0c83 |
> group::rw-
|
|
rpm-build |
0a0c83 |
> mask::rw-
|
|
rpm-build |
0a0c83 |
> other::r--
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
$ rm -R d
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Handle escaped literal backslash
|
|
rpm-build |
0a0c83 |
$ mkdir d
|
|
rpm-build |
0a0c83 |
$ touch d/f
|
|
rpm-build |
0a0c83 |
$ setfacl -m u:domain\\\\user:rw- d/f
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d/f
|
|
rpm-build |
0a0c83 |
> user::rw-
|
|
rpm-build |
0a0c83 |
> user:domain\\user:rw-
|
|
rpm-build |
0a0c83 |
> group::rw-
|
|
rpm-build |
0a0c83 |
> mask::rw-
|
|
rpm-build |
0a0c83 |
> other::r--
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
$ rm -R d
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Handle escaped literal characters by octal code (bin)
|
|
rpm-build |
0a0c83 |
$ mkdir d
|
|
rpm-build |
0a0c83 |
$ touch d/f
|
|
rpm-build |
0a0c83 |
$ setfacl -m u:\\142\\151\\156:rw- d/f
|
|
rpm-build |
0a0c83 |
$ getfacl --omit-header d/f
|
|
rpm-build |
0a0c83 |
> user::rw-
|
|
rpm-build |
0a0c83 |
> user:bin:rw-
|
|
rpm-build |
0a0c83 |
> group::rw-
|
|
rpm-build |
0a0c83 |
> mask::rw-
|
|
rpm-build |
0a0c83 |
> other::r--
|
|
rpm-build |
0a0c83 |
>
|
|
rpm-build |
0a0c83 |
$ rm -R d
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
Malformed restore file
|
|
rpm-build |
0a0c83 |
|
|
rpm-build |
0a0c83 |
$ echo "# owner: root" > f
|
|
rpm-build |
0a0c83 |
$ setfacl --restore=f 2>&1
|
|
rpm-build |
0a0c83 |
>setfacl: f: No filename found in line 0, aborting
|