Die Dateiberechtigungen wurden bei Verwendung von Kopieren (Dateisynchronisierungssoftware) geändert.

7

Ich habe gerade angefangen, Copy zu verwenden, und es scheint großartig zu sein, obwohl ich eine Schwierigkeit habe. Ich verwende zwei Xubuntu Linux-Computer, einen bei der Arbeit und einen zu Hause. Der bei der Arbeit ist 64 Bit und der zu Hause ist 32 Bit (ich weiß nicht, ob dies ein Problem ist oder nicht, obwohl es vermutlich nicht sein sollte). Das Problem ist, dass wenn ich eine Datei von beiden Seiten in den Ordner / Copy lege, sie auf dem anderen Computer angezeigt wird, deren Berechtigungen jedoch geändert wurden.

Insbesondere wenn ich eine Test-ASCII-Datei in Emacs schreibe und speichere, hat sie die folgenden Berechtigungen:

-rw-rw-r-- 1

Es wird jedoch am anderen Ende mit Berechtigungen angezeigt:

-rwx------ 1

Dies kann besonders ärgerlich sein, zumal ausführbare Dateien von der Shell grün gefärbt werden. Gibt es eine Lösung dafür?

Gammapoint
quelle
1
Gleiches Problem. Hast du jemals eine Lösung gefunden?
Michael.Lumley
1
@ Michael.Lumley, nein, leider habe ich nicht. Ich kann nicht sagen, dass ich viel Zeit damit verbracht habe, es herauszufinden, nachdem ich diese Frage gestellt habe. Ich konnte online nichts anderes dazu finden und habe keinen Zugriff auf die Kopierquelle.
Gammapoint
1
Irgendwo gibt es ein Berechtigungs-Tag oder eine Option zum Beibehalten, mit der die gleichen Berechtigungen für die kopierte Datei beibehalten werden.
j0h

Antworten:

7

Sie können rsyncIhre Dateien kopieren. Die -pOption behält Berechtigungen und so viele Optionen bei:

-p          --> Preserve permissions 
-E          --> Preserve Executability
-o          --> Preserve OwenrShip
-g          --> Preserve Groups
-t          --> Preserve modifition time

Für weitere Redings verwenden Sie diesen Link

M. Fooladgar
quelle
1
Wie im Handbuch angegeben, werden -adie meisten Einstellungen "beibehalten" behandelt. -avuzbehält praktisch alles bei ( -a), aktualisiert nur Dateien ( -udh kopiert nicht, wenn die Datei im Ziel vorhanden ist und der in der Quelle entspricht), komprimiert sie vor dem Senden ( -z) und ist ausführlich darüber, was passiert ( -v).
Alex
3

cpSie können auch Dateien kopieren, bei denen Berechtigungen, Eigentumsrechte usw. erhalten bleiben. Dazu müssen Sie den --preserveSchalter verwenden. Hier ist der entsprechende manuelle Eintrag:

--preserve[=ATTR_LIST]
preserve the specified attributes (default:
mode,ownership,timestamps), if possible additional attributes:
context, links, xattr, all

Aber wie Fiximan vorschlug, cp -awäre es einfacher. Wieder von Manpages,

-a, --archive ; same as -dR --preserve=all

Der Befehl wäre also ungefähr so:

cp -a <source> <destination>

Da Sie jedoch Dateien kopieren, insbesondere zwischen einem Computer bei der Arbeit und zu Hause über das Internet, ist es am besten, sie zu verwenden scp. scphat den -pSchalter, der Änderungszeiten, Zugriffszeiten und Modi aus der Originaldatei beibehält. Sie können den -rSchalter auch verwenden , um Ordner und Unterordner rekursiv zu kopieren. Hier finden Sie eine gute Anleitung zur Verwendung von scp zum Übertragen von Dateien.

daltonfury42
quelle
cp -awäre einfacher. Von man cp: "-a, --archive; wie -dR --preserve = all"; oder da es fern ist:scp -p
Fiximan
1

Wenn Sie beim Kopieren vom Hersteller gesperrt sind , können Sie den Support auf seiner Website um die Beibehaltung von Attributen bitten.

Wenn Sie eine grafische Benutzeroberfläche haben, empfehle ich die Verwendung von FreeFileSync .

Es

  • ist Open-Source-Software (GPLv3);
  • funktioniert hervorragend mit lokalen und Remote-Dateien (FTP, SMB / CIFS, SSH über GVFS);
  • Vergleiche nach Attributen und Inhalten;
  • flexible Synchronisierungseinstellungen haben (Zweiwege, Spiegeln, Aktualisieren, Benutzerdefiniert);
  • verfügt über einen Echtzeit-Synchronisierungsagenten;
  • behält Attribute bei und ermöglicht das Kopieren von Dateizugriffsberechtigungen.

Sie können auch Unison (Ubuntu- Paket verfügbar) oder ein anderes Programm aus der Wikipedia-Liste ausprobieren .

N0rbert
quelle