Eigentums- und Berechtigungsproblem bei Lsyncd 2.2.2

Eigentums- und Berechtigungsproblem bei Lsyncd 2.2.2

Ich habe ein Problem, bei dem Dateien auf den Remote-Server kopiert werden, obwohl der Besitzer/die Gruppe der replizierten Dateien auf dem Zielserver immer „1002“ ist. Die Berechtigungen der Quelle werden respektiert und korrekt auf dem Ziel repliziert. Ich kann einfach keinen Weg finden, den Besitzer (und die Gruppe) der replizierten Dateien beizubehalten.

Lsyncd-Version: 2.2.2

meine Einstellung unten:

settings {
    logfile = "/var/log/lsyncd/lsyncd.log",
    statusFile = "/var/log/lsyncd/lsyncd.status"
}

sync {
    default.rsyncssh,
    source="/home",
    host="1*52.*.15",
    targetdir="/home/",
    delete = "running", -- prevents deletion of files on startup (ie when a server comes back online, don't delete files that are new on the backup)
    delay = 5, -- run every 5 seconds instead of default 20
    exclude = {
        "/home/backup",
    },
    rsync = {
        archive = true, -- use the archive flag in rsync
        perms = true, -- Keep the permissions
        owner = true, -- Keep the owner
        compress = true,
        acls = true,
            xattrs = true,
        _extra = {"-a"}, -- Sometimes permissions and owners isn't copied correctly so the _extra can be used for any flag in rsync
    }
}

lsyncd-Protokollfehler:

Dec 15 21:42:47 server1.*.group lsyncd[21033]: sending incremental file list
Dec 15 21:42:47 server1.*.group lsyncd[21033]: rsync: failed to set times on "/home/admin/conf": Operation not permitted (1)
Dec 15 21:42:47 server1.*.group lsyncd[21033]: admin/conf/
Dec 15 21:42:47 server1.*.group lsyncd[21033]: sent 5,387 bytes  received 160 bytes  3,698.00 bytes/sec
Dec 15 21:42:47 server1.*.group lsyncd[21033]: total size is 2,849,404,839  speedup is 513,683.94
Dec 15 21:42:47 server1.*.group lsyncd[21033]: rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1178) [sender=3.1.2]

Antwort1

Ich glaube, das Problem liegt darin, dass die UID/GID der Dateien auf dem lokalen System nicht mit der UID/GID auf Ihrem Zielsystem übereinstimmt.

Überprüfen Sie die Benutzer-/Gruppen-IDs auf dem lokalen System und erstellen Sie denselben Benutzer/dieselbe Gruppe auf dem Zielsystem.

# On source system
$ ls -l /home/admin/conf
-rw-r--r--. 1 user1 user1 1.0K Jul 13  2018 /home/admin/conf

$ id user1
uid=1002(user1) gid=1002(user1) groups=1002(user1)

# On target system
$ useradd -u 1002 -g 1002 user1

Antwort2

Wenn RSYNC eine Datei mit beibehaltenem Eigentumsrecht überträgt, überträgt es nicht den Benutzernamen/Gruppennamen, sondern die UID und GID des Eigentümers.

Ihre Erfahrung mit 1002 bedeutet also, dass diese UID auf dem Zielsystem nicht verwendet wird.

Sie können dieses Problem auf zwei Arten beheben:

  • Löschen Sie den alten Benutzer und erstellen Sie ihn mit der UID-Einstellung in useradd neu. – Dies ist wahrscheinlich die sauberste Möglichkeit, da Sie weder chownen noch chmodden müssen.
  • Aktualisieren Sie die UID und GID mithilfe von usermod. – Wenn Sie dies tun, müssen Sie die Dateien in Ihrem Home-Verzeichnis chownen, und es können weitere unerwartete Nebenwirkungen für andere Dateien auftreten, die diesem Benutzer gehören.

Listenpunkt

verwandte Informationen