123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #! /bin/sh
- . $srcdir/testsuite/rsync.fns
- $RSYNC --version | grep ", ACLs" >/dev/null || test_skipped "Rsync is configured without ACL support"
- makepath "$fromdir/foo"
- echo something >"$fromdir/file1"
- echo else >"$fromdir/file2"
- files='foo file1 file2'
- case "$setfacl_nodef" in
- true)
- if ! chmod --help 2>&1 | fgrep +a >/dev/null; then
- test_skipped "I don't know how to use setfacl or chmod for ACLs"
- fi
- chmod +a "root allow read,write,execute" "$fromdir/foo" || test_skipped "Your filesystem has ACLs disabled"
- chmod +a "root allow read,execute" "$fromdir/file1"
- chmod +a "admin allow read" "$fromdir/file1"
- chmod +a "daemon allow read,write" "$fromdir/file1"
- chmod +a "root allow read,execute" "$fromdir/file2"
- see_acls() {
- ls -le "${@}"
- }
- ;;
- *)
- setfacl -m u:0:7 "$fromdir/foo" || test_skipped "Your filesystem has ACLs disabled"
- setfacl -m g:1:5 "$fromdir/foo"
- setfacl -m g:2:1 "$fromdir/foo"
- setfacl -m g:0:7 "$fromdir/foo"
- setfacl -m u:2:1 "$fromdir/foo"
- setfacl -m u:1:5 "$fromdir/foo"
- setfacl -m u:0:5 "$fromdir/file1"
- setfacl -m g:0:4 "$fromdir/file1"
- setfacl -m u:1:6 "$fromdir/file1"
- setfacl -m u:0:5 "$fromdir/file2"
- see_acls() {
- getfacl "${@}"
- }
- ;;
- esac
- cd "$fromdir"
- $RSYNC -avvA $files "$todir/"
- see_acls $files >"$scratchdir/acls.txt"
- cd "$todir"
- see_acls $files | diff $diffopt "$scratchdir/acls.txt" -
- exit 0
|