O que você quer fazer é desabilitar a funcionalidade principal do rpm. Todos os arquivos contidos em um rpm são armazenados em conjunto com uma soma de verificação, suas permissões e alguns sinalizadores adicionais / opcionais em um pacote. Não há como desativar a alteração de permissões, pois basicamente você deseja restaurar as permissões padrão se qualquer arquivo do pacote for tocado ou, por exemplo, para verificação de todos os arquivos, permissões e checksums.
Você poderia, talvez, adicionar a saída de rpm -q --qf '[%{filenames}: %{filemodes:perms}\t%{fileflags}\n]' puppet
e marcar o diretório onde a configuração está contida, e também a saída de rpm -qf /directory
para o diretório que contém a configuração?
Outra abordagem poderia ser usar setfacl -m
para adicionar uma ACE para esse diretório para o usuário, que não deveria ser sobrescrito.
Uma abordagem diferente poderia ser usar filamentadores de rpm, mas isso é bastante complexo, e eles não são padrão - uma pequena pesquisa mostra que o CentOS / RHEL / Fedora aparentemente não os suportam.