Dateien kopieren von fremder Installation aus

Moin,

die Suchfunktion hat mir nicht geholfen, vielleicht weil allo so blöde Titel vergeben haben …

Ich habe Linux 2mal installiert: Auf Platte A und auf Platte B. Wenn ich nun mit B starte und von A z.B. das home-Verzeichnis komplett rüberkopieren will im Sinne eines Backups, funktioniert das nicht. Einige Dateien bzw. Verzeichnisse können nicht gelesen werden, weil nur der Besitzer die Leserechte hat, und der ist aus irgendeinem Grunde 999 oder der Root von System A.

Das Schlimme ist, dass mich z.B. ein cp -a noch nicht einmal darauf aufmerksam macht, das von dem einen Gigabyte nur etwa die Hälfte kopiert wurde. Im Ziel werden sogar nicht erreichbare Verzeichnisse angelegt, sogar rekursiv - dass da nichts drin ist, sieht man erst auf den zweiten Blick.

Auch Dolphin ist da nicht besser. Bei bestimmten Dateien (z.B. die FilterRules von Thunderbird) meckert er, aber ansonsten schweigt das Teil und kopiert munter leere Ordner rüber, die eigentlich voll sind.

Nun könnte ich offenbar mit chown alles so verbiegen, dass System drauf zugreifen kann. Will ich aber natürlich nicht, weil ein Backup ist „berührungslos“ - es kann doch nicht sein, dass ich Dateien ändern muss, um sie kopieren zu können. Wer weiß, was passiert, wenn ich dann wieder von System A starte und dan aus deren Sicht sämtliche Dateien nicht mehr lesbar/schreibbar sind oder nur noch eingeschränkt.

Welche Methode gibt es also, ein Verzeichnis von einem fremden ext3-System vollständig und vor allem zuverlässig zu kopieren? Um jetzt bitte kein Hinweis auf den Sinn von Rechtevergabe zum Schutz der Daten oderso … wenn ich mir das Zeug mit chmod einfach aneigenen kann, ist das Käse. Im Moment kann ich gar nichts machen, weil ich dem System nicht vertrauen kann.

Danke und Grüße,
Kristian

Hallo Kristian,

Ich habe Linux 2mal installiert: Auf Platte A und auf Platte
B. Wenn ich nun mit B starte und von A z.B. das
home-Verzeichnis komplett rüberkopieren will im Sinne eines
Backups, funktioniert das nicht. Einige Dateien bzw.
Verzeichnisse können nicht gelesen werden, weil nur der
Besitzer die Leserechte hat, und der ist aus irgendeinem
Grunde 999 oder der Root von System A.

Du packst die Sache auch vom falschen Ende an. Solche Backups solltest Du vom Quellrechner aus starten und von dort aus die Daten auf den Zielrechner schieben. Entgegen deiner Warnung muss ich doch sagen, daß es ja noch schöner wäre, wenn man ohne Probleme von einem fremden Rechner aus die Daten eines anderen auf den eigenen schaufeln könnte.
Aber um ein wenig Butter an die Fische zu bringen, rsync ist für solche Sachen wohl das Werkzeug der Wahl. Beispiele für die Verwendung findest Du u.a. hier:
http://www.mikerubel.org/computers/rsync_snapshots/
http://linuxwiki.de/rsync
oder sowas hier
http://www.rootforum.de/wiki/backup/03_simple_data
das benutzt zwar FTP dafür, aber das kann man ja behalten oder entsprechend modifizieren
Wenn Du nicht basteln willst, gibt es das ganze auch schon fertig verpackt, als rsnapshot
http://www.rsnapshot.org/
Und was die Zuverlässigkeit betrifft, natürlich sollte zu einem Backup, wie auch immer es gefertigt wurde, die anschliessende Verifikation gehören, die Du natürlich automatisieren solltest.
Einfachster Weg wäre z.B. von beiden Verzeichnissen mittels find eine Dateiliste anzufertigen, die dann mittels diff verglichen wird. Wenn Du es noch genauer haben möchtest, kannst Du auch Prüfsummen der einzelnen Dateien erzeugen (z.B. mit MD5) und diese dann vergleichen.

Viele Grüße
Marvin

Moin,

die Suchfunktion hat mir nicht geholfen, vielleicht weil allo
so blöde Titel vergeben haben …

Ich habe Linux 2mal installiert: Auf Platte A und auf Platte
B. Wenn ich nun mit B starte und von A z.B. das
home-Verzeichnis komplett rüberkopieren will im Sinne eines
Backups, funktioniert das nicht. Einige Dateien bzw.
Verzeichnisse können nicht gelesen werden, weil nur der
Besitzer die Leserechte hat, und der ist aus irgendeinem
Grunde 999 oder der Root von System A.

Hat unter den beiden Installationen der selbe User andere User-ids? Du fährst vermutlich besser, wenn Du das so weit wie möglich anpasst.

Gruß,

Sebastian

Du packst die Sache auch vom falschen Ende an. Solche Backups
solltest Du vom Quellrechner aus starten und von dort aus die
Daten auf den Zielrechner schieben.

Ich hab’s gewusst … :wink: Egal. Es gibt selbst bei Linux Situationen, und ich scheine sie magisch anzuziehen, wo eben genau das nicht möglich ist. Klar wäre das der bessere Weg. In meinem Falle hatte sich irgendwie ein Filesystem-Fehler eingeschlichen, der dazu führte, dass ich das System nicht mehr starten konnte. Mit dem vorgeschlagenen Tool (fsck oderso) habe ich die (zahlreichen) Fehler dann beheben lassen, aber vorher wollte ich vom anderen System aus ein paar Daten sichern, bevor sie mir flöten gehen. Und das war auch gut so.

Entgegen deiner Warnung muss ich doch sagen, daß es ja noch schöner wäre, wenn man ohne Probleme von einem fremden Rechner aus die Daten eines anderen auf den eigenen schaufeln könnte.

Das Schöne ist: Es geht. Wie gesagt: Ich brauche nur ein chown zu machen, und schon kann ich alles (ALLES) rüberkopieren. Das hatte ich damals an der Uni schon nicht verstanden, weil das nämlich jeglichen Sicherungsgedanken untergräbt. Und sag mir bitte nicht, dass es NICHT geht - ich hab’s ausprobiert :wink:

http://www.mikerubel.org/computers/rsync_snapshots/
http://linuxwiki.de/rsync
http://www.rootforum.de/wiki/backup/03_simple_data
http://www.rsnapshot.org/

Alles gut und schön, aber wenn diese Programme genauso arbeiten wie cp -r (das eben bestimmte Dateien einfach kommentarlos nicht mitkopiert), dann sind sie auch nicht besser. Ich will mich ja ohnehin mal mit einem der Tools beschäftigen (ein anderes hatte ich schon mal genannt). Wenn man vom eigenen System aus operiert und ggf. noch als root, dann sehe ich da auch keine Probleme. Die gibt es eben nur mit „Fremddaten“.

Einfachster Weg wäre z.B. von beiden Verzeichnissen mittels
find eine Dateiliste anzufertigen, die dann mittels diff
verglichen wird.

Ja, dachte ich auch schon dran, und das werde ich mir mal zusammenbasteln.

Danke und Gruß,
Kristian

Hat unter den beiden Installationen der selbe User andere
User-ids? Du fährst vermutlich besser, wenn Du das so weit wie
möglich anpasst.

So einen Gedanken hatte ich auch schon. Die User-Namen sind auf beiden Systemen gleich, und beides ist Kubuntu, das von der gleichen CD installiert wurde. Der gleiche Username scheint aber nicht zu reichen. Wäre ja auch komisch :wink: Ob das unterschiedliche Passwort eine Rolle spielt, weiß ich nicht.

Ich weiß jetzt auch nicht mehr, ob es nur Dateien/Verzeichnisse betraf, die root gehörten oder auch welche, die „mir“ gehörten. In jedem Falle hatte nur der Eigentümer Leserechte.

So einen Gedanken hatte ich auch schon. Die User-Namen sind
auf beiden Systemen gleich,

Sebastian hat nicht von Namen, sondern von IDs gesprochen. Unter Linux sind Dateirechte an eine ID gebunden, der Name ist nur ein Alias. Die ID ist eine vorzeichenlose Zwei-Byte-Integer; in /user/group bzw. /etc/passwd wird sie den Namen zugeordnet. Wenn die ID auf beiden Systemen verschiedenen ist, ist der identische Benutzername ohne Belang. Das Kommando newgrp ändert die ID auf einen von dir vorgegebenen Wert.

Gruß

Sebastian hat nicht von Namen, sondern von IDs gesprochen.
Unter Linux sind Dateirechte an eine ID gebunden, der Name ist
nur ein Alias. Die ID ist eine vorzeichenlose
Zwei-Byte-Integer; in /user/group bzw. /etc/passwd wird sie
den Namen zugeordnet. Wenn die ID auf beiden Systemen
verschiedenen ist, ist der identische Benutzername ohne
Belang. Das Kommando newgrp ändert die ID auf einen von dir
vorgegebenen Wert.

O I C. Okay, das werde ich mir mal angucken. Wäre aber blanker Zufall, wenn die IDs gleich wären. Aber wenn das so einfach ist … kann man dann nicht überall rein? :wink: die gut 65000 Varianten hat man doch schnell durchgespielt :wink:

Hallo Kristian,

Ich brauche nur ein chown
zu machen, und schon kann ich alles (ALLES) rüberkopieren.

Ja, wenn Du denn ein chown machen kannst :wink:
Ein Beispiel:
Ich bin user kb. Dann lasse ich mir das Verzeichnis eines anderen Users zeigen:

 ls -l /home/tte
insgesamt 1764
-rw-r--r-- 1 tte tte 267817 2008-11-06 20:53 blackice-2008-11-06\_2052.zip
-rw-r--r-- 1 tte tte 330810 2008-11-13 20:58 blackice-2008-11-13\_2057.zip
-rw-r--r-- 1 tte tte 349602 2008-11-27 20:50 blackice-2008-11-27\_2049.zip
-rw------- 1 tte tte 295426 2008-12-04 20:56 blackice-2008-12-04\_2056.zip
-rw-r----- 1 tte tte 361607 2008-12-11 20:57 blackice-2008-12-11\_2056.zip
kb@eternity:~$ chown kb:kb /home/tte/blackice-2008-12-11\_2056.zip
chown: Ändern des Eigentümers von „/home/tte/blackice-2008-12-11\_2056.zip“: Die Operation ist nicht erlaubt

Siehst Du, was ich meine? So einfach ist es also nicht, mit chown und alles können.

Und sag mir
bitte nicht, dass es NICHT geht - ich hab’s ausprobiert :wink:

Ich sag es trotzdem: In einem ordentlich eingerichteten System geht es so nicht (s.o.)

wenn diese Programme genauso
arbeiten wie cp -r (das eben bestimmte Dateien einfach
kommentarlos nicht mitkopiert)

Nun, bei mir meldet sich cp, wenn es was nicht kopieren kann:

kb@eternity:~$ cp -r /home/tte/\*.zip /tmp
cp: „/home/tte/blackice-2008-12-04\_2056.zip“ kann nicht zum Lesen geöffnet werden: Keine Berechtigung
cp: „/home/tte/blackice-2008-12-11\_2056.zip“ kann nicht zum Lesen geöffnet werden: Keine Berechtigung

Oder andere Fehlermeldung, extra mit einem randvoll gefüllten USB-Stick erzeugt:

kb@eternity:~$ cp -r \* /media/usbdisk/xyz/
cp: Schreiben von „/media/usbdisk/xyz/doc/galileocomputing\_professionelles\_webdesign.pdf“: Auf dem Gerät ist kein Speicherplatz mehr verfügbar
cp: Schreiben von „/media/usbdisk/xyz/doc/passrecovery.pdf“: Auf dem Gerät ist kein Speicherplatz mehr verfügbar

Fehlermeldungen, so viel Du möchtest…

Viele Grüße
Marvin

Wäre aber blanker
Zufall, wenn die IDs gleich wären. Aber wenn das so einfach
ist … kann man dann nicht überall rein? :wink: die gut 65000
Varianten hat man doch schnell durchgespielt :wink:

Der erste angelegte User bekommt die ID 1000, der zweite die ID 1001, der dritte…

Unix beherrscht eine brauchbare Benutzerverwaltung schon traditionell nicht, Linux hat genetisch keinen Sprung gemacht.

Gruß

Sebastian hat nicht von Namen, sondern von IDs gesprochen.
Unter Linux sind Dateirechte an eine ID gebunden, der Name ist
nur ein Alias. Die ID ist eine vorzeichenlose
Zwei-Byte-Integer; in /user/group bzw. /etc/passwd wird sie
den Namen zugeordnet. Wenn die ID auf beiden Systemen
verschiedenen ist, ist der identische Benutzername ohne
Belang. Das Kommando newgrp ändert die ID auf einen von dir
vorgegebenen Wert.

Und herausfinden, welche ID ein Benutzer hat, kann man auch einfach über das Kommando „id“

O I C. Okay, das werde ich mir mal angucken. Wäre aber blanker
Zufall, wenn die IDs gleich wären.

In der Regel werden sie (zumindest bei Debian) ab 1000 nach der Reihnfolge des Anlegens von Usernamen angelegt. Bei SuSe zumindest früher ab 500 …

Genaueres findet sich in /etc/adduser.conf

Aber wenn das so einfach
ist … kann man dann nicht überall rein? :wink: die gut 65000
Varianten hat man doch schnell durchgespielt :wink:

Nun, beim Anlegen kann man angeben, welche ID ein neuer Benutzer erhält (sofern sie nicht bereits belegt ist).

HTH,

Sebastian