Após uma atualização do Debian 10 para 11, um trabalho rsync com algum destino em/etc não funciona mais.
No lado do servidor (destino) eu tenho isto:
uid = root
gid = root
hosts allow = mysender
[mymodule]
# NOGO
path = /etc/tmp
# GO
# path = /root/tmp
comment = Just for testing
read only = false
No lado do cliente (fonte) eu insiro este comando:
rsync -a /etc/temp/test myserver::mymodule
O que faz com que o rsync falhe com esta mensagem:
rsync: [generator] recv_generator: mkdir "/test" (in mymodule) failed: Read-only file system (30)
*** Skipping any contents from this failed directory ***
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1333) [sender=3.2.3]
Configurar o servidor para usar um caminho fora de /etc (por exemplo /root/tmp) funciona conforme o esperado.
O sistema de arquivos raiz (que também contém o diretório /etc) énãomontado somente leitura, é claro, e está limpo. Por que o rsyncd considera /etc como parte de um sistema de arquivos somente leitura?
Responder1
A versão 3.2.0-1 do rsync introduziu um aprimoramento chamado "ProtectSystem" que impede, entre outras coisas, o acesso de gravação /etc
(consultehttps://download.samba.org/pub/rsync/NEWS). Isso pode ser substituído criando um arquivo /etc/systemd/system/rsync.service.d/override.conf
com o seguinte conteúdo:
[Service]
ProtectSystem=off
Espero que isso ajude muito depois de sua postagem inicial.