Ich habe zwei Computer, einen Mac und einen PC mit Linux, auf denen ich eine bestimmte Datei zwischen der Verwendung von Dropbox synchronisieren möchte.
Eine der Dateien, die ich synchronisiere, muss von einem anderen Benutzer (andere UID auf demselben Computer, die nicht auf einen anderen Dropbox-Benutzer verweist) außer mir selbst geschrieben werden können. Genauer gesagt ist diese andere UID tatsächlich ein Daemon. Entweder muss sich die Datei im Besitz dieses anderen Benutzers befinden, oder für "group" und / oder "other" ist eine Schreibberechtigung erforderlich. Anfangs habe ich es auf beiden Maschinen so eingerichtet. Darüber hinaus ist das Verzeichnis, in dem sich die Datei befindet, bereits im Besitz des Benutzers (chmod 777), der Schreibzugriff auf die Datei haben muss.
Wenn die Datei jedoch von einer Box zu einer anderen synchronisiert wird, scheint es, dass Dropbox beide Berechtigungssätze vollständig ignoriert und die Berechtigungen für die neu aktualisierte Datei so ändert, dass sie mir mit den Berechtigungen 0644 gehören (rw für mich, r für alle anderen) ). Wenn sich die Datei nicht in meinem Besitz befindet, wechselt sie sogar wieder in meinen Besitz! Infolgedessen hat der andere Benutzer keine Schreibrechte mehr, bis ich manuell hineingehe und die Datei erneut ändere.
Weitere Dinge, die ich ausprobiert habe und die nicht funktioniert haben:
Stellen Sie sicher, dass das Benutzerkonto (für den "anderen Benutzer") auf beiden Computern dieselbe UID hat. Ich bin mir nicht sicher, warum dies notwendig sein sollte, da mein primärer Account auf beiden Computern nicht dieselbe UID hat.
chmod u+s <dir>
undchmod g+s <dir>
wo ist das Verzeichnis, das die betreffende Datei enthält.Ändern des Eigentums an der Datei auf den anderen Benutzer und Platzieren außerhalb des Dropbox-Verzeichnisses sowie Erstellen eines Symlinks zu der Datei im Dropbox-Verzeichnis. Dropbox löscht den Symlink tatsächlich, lässt die Originaldatei (außerhalb des Dropbox-Verzeichnisses) unverändert und erstellt eine neue Kopie der Datei an der Stelle, an der sich der Symlink befand!
Wie kann ich die Einstellungen so vornehmen, dass meine Berechtigungen und / oder mein Eigentum erhalten bleiben?
quelle
PAR=$(dirname $(readlink -f $0)) OLD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH LD_LIBRARY_PATH=$PAR${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH exec $PAR/dropbox $@
sich in ./.dropbox-dist/ und wird über das mitgelieferte Python-SkriptLegen Sie diese Datei in einem eigenen Ordner ab und geben Sie diesen Ordner für den anderen Benutzer frei. Auf diese Weise bearbeiten sie die neueste Version genauso wie Sie. Achten Sie darauf, nicht gleichzeitig daran zu arbeiten.
quelle
Wenn Sie eine Datei zwischen zwei Computern kopieren, entscheidet die Software, die das Kopieren durchführt, über die Berechtigungen für die Kopie. Für das, was Sie tun, benötigen Sie eine ziemlich detaillierte Berechtigungszuordnung. Dropbox-Berechtigungszuordnungsfunktionen beschränken sich darauf, Berechtigungen beizubehalten, wenn auf beiden Systemen dasselbe Betriebssystem ausgeführt wird . Für das Kopieren zwischen zwei verschiedenen Betriebssystemen werden keine bestimmten Ergebnisse garantiert.
Selbst wenn Sie herausfinden könnten, wie Sie Dropbox wie gewünscht einsetzen können, würde ich davon abraten, sich darauf zu verlassen. Undokumentierte Software-Macken können ohne Vorankündigung verschwinden. Sie müssen sich die Dateiübertragungstools ansehen, die für Ihren Anwendungsfall entwickelt wurden. Meine erste Wahl wäre rsync , das in Linux-Distributionen Standard ist und unter Windows einfach zu installieren ist, insbesondere wenn Sie Cygwin haben . Und Cygwin ist im Allgemeinen nützlich für Leute, die sowohl mit Windows als auch mit Linux arbeiten müssen!
Natürlich erfordert rsync eine direkte Verbindung - es gibt keinen zentralen Server wie den von Dropbox. Wie Sie damit umgehen, hängt von den Details Ihrer Netzwerkeinrichtung ab.
quelle