Versteckten Ordner kopieren

Felix_krueger

Ensign
Registriert
Sep. 2007
Beiträge
170
Hallo Leute,

ich möchte einen versteckten Ordner mit "cp" kopieren, bekomme aber irgendwie funktioniert es nicht wie ich es will.

Zum Hintergrund: Ich habe mir einen Benutzer angelegt, um einen konfigurierten Firefox in den Gastaccount schieben zu können. Das hat auch alles geklappt: Benutzer angelegt, Firefox konfiguriert und dann einfach den Firefoxordner (.mozilla) in den Gastaccount kopiert
Code:
sudo cp -r /home/BENUTZERNAME/* /etc/guest-session/skel
war ganz einfach, wie im Ubuntu-Wiki beschrieben.

Jetzt wollte ich das ganze umgekehrt machen, da ich einige Einstellungen vergessen hatte vorzunehmen. Also: .mozilla vom Gastaccount in einen neu erstellten temporären Account kopieren und dann den Schritt von oben wiederholen. Der temporäre Account heißt "temp".

Ich habe mir mit sudo -s root-Rechte verschafft.

Mein Befehl lautet
Code:
cp -r /etc/guest-session/skel/.mozilla/ /home/temp/
google verriert mir, dass es evtl mit cp -r -a gehen sollte, cp -r /etc/guest-session/skel/.* /home/temp hat auch nichts gebracht. Entweder hat es nicht funktioniert, oder ich habe mir Firefox zerschossen ("your ff profile can not be loaded, it may be missing"), sodass es nicht mehr starten wollte. Unter /home/temp liegt dann auch ./mozilla. Der Ordner hat aber ein "X" und ein "Schloss" drauf. Funktioniert mein Vorgehen wegen eingeschränkter Rechte des Gastaccounts nicht, oder gibt es einen anderen Grund?

Bevor jetzt einer kommt mit: "Mach doch einen neuen Account, stell da alles ein wie du es brauchst und kopier den dann" - ich weiß selbst, dass es so funktionieren würde; ich möchte hier aber was lernen, sodass ich nächstes Mal selbst auf meinen Fehler kommen kann.

Danke im Voraus für alle hilfreiche Antworten! :)
 
Zuletzt bearbeitet:
den ordner irgendwohin rauskopieren funktioniert aber? dann kopier ihn irgendwo hin raus und von da dann dahin, wo du ihn willst. ob er nun versteckt ist oder nicht sollte auf die funktionalität keinen einfluss nehmen

Code:
sudo cp -r /home/BENUTZERNAME/* /etc/guest-session/skel

aber da ist doch schon der erste bock geschossen, oder? der stern am ende sorgt dafür, dass die einzelnen dateien ins zielverzeichnes kopiert werden und nicht der ordner "benutzername" und alles unter/in ihm? ist das so gewollt, ohne übergeordnetes "benutzername"-verzeichnis?

oder soll es ins skel/
 
Zuletzt bearbeitet von einem Moderator:
* der Shell matcht normalerweise nicht auf Dateien und Ordner mit . vorn, also "versteckte". Der Versuch, mit .* nur die versteckten zu matchen, ist auch keine gute Idee, da dies neben den versteckten Dateien/Ordnern auch das aktuelle (.) und darüberliegende Verzeichnis (..) umfasst.

Mögliche Lösungen:

1. falls die Shell eine bash ist, vorher "shopt -s dotglob" setzen. Dann matcht * auch auf versteckte Daten/Ordner (nicht aber auf . und ..). Nach der Kopiererei mit "shopt -u dotglob" das normale Verhalten wiederherstellen.

2. Nicht mit * eine Liste von Dateien/Ordnern kopieren sondern den/die einzeln, explizit benannten Ordner. Der/die darf/dürfen dann auch mit . anfangen. Beispiel: cp -r .bla .blubb .mööp /home/schnuff/

Felix_krueger schrieb:
Mein Befehl lautet
Code:
cp -r /etc/guest-session/skel/.mozilla/ /home/temp/
google verriert mir, dass es evtl mit cp -r -a gehen sollte, cp -r /etc/guest-session/skel/.* /home/temp hat auch nichts gebracht. Entweder hat es nicht funktioniert, oder ich habe mir Firefox zerschossen
Du hast als Root die Dateien kopiert. Die neuen Dateien, also die Kopien, gehören dann root (oder dem gleichen Nutzer wie die Quelle, wenn du mit "cp -a" kopiert hättest). Beides wäre falsch. Wenn sich Nutzer temp dann anmeldet, fehlen ihm die Zugriffsrechte auf diese Daten.

Beim Rumkopieren von Firefox-Profilen also drauf achten, dass die Kopie für den "Empfänger" der Kopieraktion auch lese/schreibbar ist. Nach dem Kopieren muss dazu der Eigentümer des kopiertes Profils auf den neuen Nutzer geändernt werden (mit chown). Auf Systemen mit eigener Gruppe pro Nutzer z.B. so: "chown -R NutzerX:NutzerX ~NutzerX/.mozilla" Ein Blick auf die Zugriffsrechte kann auch nicht schaden, wenn man mit cp ohne -a kopiert hat.

BTW: Ich würde nie Nutzer "temp" oder "skel" nennen.
 
Zuletzt bearbeitet:
@ mensch183: So hat es geklappt! Mein Benutzer "temp" hatte nicht die nötigen Rechte.

Danke an euch!
 
Zurück
Oben