Saya memiliki dua mesin, Mac dan PC yang menjalankan Linux, yang saya coba untuk menyinkronkan file tertentu antara menggunakan Dropbox.
Salah satu file yang saya selaraskan harus dapat ditulis oleh pengguna lain (UID yang berbeda pada mesin yang sama, tidak mengacu pada pengguna dropbox lain) selain saya sendiri. Untuk lebih spesifik, UID lain ini sebenarnya adalah daemon. Jadi, file tersebut harus dimiliki oleh pengguna lain itu, atau izin menulis diperlukan untuk "grup" dan / atau "lainnya". Awalnya saya telah mengaturnya dengan cara ini di kedua mesin. Selain itu, direktori yang berisi file sudah dimiliki (chmod 777) oleh pengguna yang perlu memiliki akses tulis ke file.
Namun, setiap kali file disinkronkan dari satu kotak ke kotak lain, tampaknya Dropbox sepenuhnya mengabaikan kedua set izin, dan mengubah izin pada file yang baru diperbarui untuk dimiliki oleh saya dengan izin 0644 (rw untuk saya, r untuk semua orang lain ). Jika file itu bukan milik saya, itu bahkan mengubah kepemilikan kembali ke saya sendiri! Akibatnya, pengguna lain tidak lagi memiliki izin menulis hingga saya masuk dan melakukan chmod file secara manual.
Hal-hal tambahan yang saya coba tidak berhasil:
memastikan akun pengguna (untuk "pengguna lain") di kedua mesin memiliki UID yang sama. Tidak yakin mengapa ini perlu, karena akun utama saya tidak memiliki UID yang sama di kedua mesin.
chmod u+s <dir>
danchmod g+s <dir>
di mana direktori berisi file yang dimaksud.mengubah kepemilikan file ke pengguna lain dan menempatkannya di luar direktori Dropbox, dan membuat symlink ke file di direktori Dropbox. Dropbox sebenarnya menghapus symlink, membiarkan file asli (di luar direktori Dropbox) tidak berubah, dan membuat salinan baru file di mana symlink dulu!
Bagaimana saya bisa mengatur semuanya agar izin dan / atau kepemilikan saya dipertahankan?
sumber
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 $@
dan terletak di ./.dropbox-dist/ dan dikelola melalui skrip python yang disediakanLetakkan file itu di foldernya sendiri dan bagikan folder itu dengan pengguna lain. Dengan cara ini mereka mengedit versi terbaru seperti Anda. Berhati-hatilah untuk tidak mengerjakannya secara bersamaan.
sumber
Jika Anda menyalin file di antara dua komputer, perangkat lunak yang melakukan penyalinan memutuskan apa izin pada salinan. Untuk apa yang Anda lakukan, Anda memerlukan pemetaan izin yang cukup halus. Fitur pemetaan izin Dropbox terbatas untuk menjaga izin jika kedua sistem menjalankan OS yang sama . Tidak ada hasil khusus yang dijamin untuk menyalin antara dua OS yang berbeda.
Bahkan jika Anda bisa mencari cara untuk menggunakan Dropbox seperti yang Anda inginkan, saya sarankan agar tidak mengandalkannya. Keanehan perangkat lunak yang tidak berdokumen memiliki cara menghilang tanpa pemberitahuan. Anda perlu melihat alat transfer file yang dirancang dengan menggunakan use case Anda dalam pikiran. Pilihan pertama saya adalah rsync , yang merupakan standar pada distro Linux, dan mudah dipasang pada Windows, terutama jika sudah Cygwin . Dan Cygwin umumnya bermanfaat bagi orang yang harus bekerja dengan Windows dan Linux!
Tentu saja, rsync memerlukan koneksi langsung - tidak ada server pusat seperti yang disediakan Dropbox. Cara Anda mengatasinya tergantung pada detail pengaturan jaringan Anda.
sumber