The --fake-super mode should set u+x on the real file if the source file is executable. This would be consistent with Linux permission checking for the real superuser: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=fs/namei.c;hb=6339204ecc2aa2067a99595522de0403f0854bb8#l226 Test case (run as non-root): touch file chmod 401 file rsync-dev -a -M--fake-super file file2 if [ -x file2 ]; then echo "PASS"; else echo "FAIL"; fi