Kopieren in ein NTFS-Dateisystem auf einem Remote-Computer bei gleichzeitiger Verwendung von Metadaten

0

Ich möchte eine Reihe von Dateien auf eine NTFS-Partition auf einem Remotecomputer kopieren, während die Dateidaten beibehalten werden. Das Beibehalten von Metadaten auf einer lokalen Kopie ist auf einem NTFS-Dateisystem bereits schwierig:

$ cp -p testfile /windows/c/
cp: die Zeiten für '/windows/c/testfile' werden beibehalten: Vorgang nicht zulässig

(Übersetzt: "Die Aufbewahrung von Zeiten ist nicht zulässig")

Es funktioniert nur beim Kopieren als root:

$ sudo cp -p testfile /windows/c/

Das ist schon seltsam, aber ich kenne bisher keine bessere Lösung.

Aber wie kann ich auf einen entfernten Rechner kopieren? Ich möchte zu tun:

$ scp -p testdir root@remote:/windows/c/

Die Remote-Maschine hat jedoch nur "sudo", keinen Kennwortzugriff für "root". Ich möchte es so lassen. Ich könnte:

$ tar testdir | ssh remote sudo tar x --directory=/windows/c

Ich kann das Sudo-Passwort jedoch nicht auf diese Weise eingeben. Ich habe es auch versucht

remote$ mkfifo /tmp/channel.tar
remote$ sudo tar xf /tmp/channel.tar --directory=/windows/c
$ mkdir /tmp/remote-tmp
$ sshfs remote:/tmp /tmp/remote-tmp
$ tar cf /tmp/remote-tmp/channel.tar testdir

aber auf dem entfernten Rechner passiert nichts. Vielleicht unterstützt sshfs keine FIFOs? Ich habe keine Ahnung mehr.

Lemming
quelle

Antworten:

1

Der Pipe-Trick scheint lokal auf dem Remote-Computer zu funktionieren. SSHFS scheint der Blocker zu sein. Ohne SSHFS habe ich einen funktionierenden Weg gefunden:

remote$ mkfifo /tmp/channel.tar
remote$ sudo tar xf /tmp/channel.tar --directory=/windows/c
$ tar c testdir | ssh remote dd of=/tmp/channel.tar
Lemming
quelle
0

Die Verwendung von tar als Container zum Speichern der Dateiinformationen ist eine gute Idee.

Wenn Kennwörter keine Option sind, können Sie dem Root-Konto auf dem Remote-Computer immer einen ssh-Schlüssel hinzufügen und eine zertifikatbasierte Authentifizierung durchführen.

user2629074
quelle