Sim, parece que o SELinux é o culpado:
The -Z switch will work with most utilities to show SELinux security contexts (e.g, 'ls -Z', 'ps axZ' etc).
$ ll -Z /var/www/html/hello
-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/hello
$ ll -Z /tmp/hello
-rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 /tmp/hello
Os dois arquivos de destino têm tipos diferentes ( httpd_sys_content_t
vs user_tmp_t
), o que explica a diferença na acessibilidade.
A página do SELinux no centos.org explica o -Z
e muito, muito mais.