Rsync zu einem Ziel in /etc ist nicht möglich

Rsync zu einem Ziel in /etc ist nicht möglich

Nach einem Upgrade von Debian 10 auf 11 funktioniert ein rsync-Job mit einem Ziel in /etc nicht mehr.

Auf der Serverseite (Zielseite) habe ich Folgendes:

uid = root
gid = root

hosts allow = mysender

[mymodule]
  # NOGO
  path = /etc/tmp

  # GO
  # path = /root/tmp

  comment = Just for testing
  read only = false

Auf der Clientseite (Quelle) gebe ich diesen Befehl ein:

rsync -a /etc/temp/test myserver::mymodule

Dadurch schlägt rsync mit dieser Meldung fehl:

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]

Die Konfiguration des Servers zur Verwendung eines Pfads außerhalb von /etc (beispielsweise /root/tmp) funktioniert wie erwartet.

Das Root-Dateisystem (das auch das Verzeichnis /etc enthält) istnichtnatürlich schreibgeschützt gemountet und es ist sauber. Warum betrachtet rsyncd /etc dann als Teil eines schreibgeschützten Dateisystems?

Antwort1

rsync Version 3.2.0-1 führte eine Erweiterung namens "ProtectSystem" ein, die unter anderem den Schreibzugriff auf /etc(siehehttps://download.samba.org/pub/rsync/NEWS). Dies kann überschrieben werden, indem eine Datei /etc/systemd/system/rsync.service.d/override.confmit folgendem Inhalt erstellt wird:

[Service]
ProtectSystem=off

Hoffe, das hilft auch lange nach Ihrem ersten Beitrag.

verwandte Informationen