diff options
Diffstat (limited to 'test/test-cp-setuid.sh')
-rwxr-xr-x | test/test-cp-setuid.sh | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/test-cp-setuid.sh b/test/test-cp-setuid.sh new file mode 100755 index 0000000..cdb2cd3 --- /dev/null +++ b/test/test-cp-setuid.sh @@ -0,0 +1,23 @@ +#!/bin/bash +set -e + +# Verify that special bits (setuid/setgid/sticky) are preserved. +# +# Return vals: +# +# 2 - Incorrect permissions +# All other nonzero - Unexpected command error +# 0 - Pass + +trap "rm -rf d1 d2" EXIT + +mkdir d1 +chmod 7777 d1 +cp -Rp d1 d2 +perms=`ls -od d1 d2 | cut -c 1-10 | uniq` +if [ "$perms" != drwsrwsrwt ]; then + exit 2 +fi + + +exit 0 |