Tengo dos máquinas, una Mac y una PC con Linux, que estoy tratando de mantener un cierto archivo sincronizado entre usar Dropbox.
Otro de los archivos que estoy sincronizando debe ser editable por otro usuario (UID diferente en la misma máquina, sin referirse a otro usuario de Dropbox) además de mí. Para ser más específicos, este otro UID es en realidad un demonio. Entonces, o bien el archivo debe ser propiedad de ese otro usuario, o bien se necesita permiso de escritura para "grupo" y / u "otro". Inicialmente lo configuré de esta manera en ambas máquinas. Además, el directorio que contiene el archivo ya es propiedad (chmod 777) del usuario que necesita tener acceso de escritura al archivo.
Sin embargo, cada vez que el archivo se sincroniza de un cuadro a otro, parece que Dropbox ignora por completo ambos conjuntos de permisos, y cambia los permisos en el archivo recientemente actualizado para que sea de mi propiedad con los permisos 0644 (rw para mí, r para todos los demás ) Si el archivo no me pertenece, ¡incluso cambia la propiedad a mí mismo! Como resultado, el otro usuario ya no tiene permisos de escritura hasta que entre manualmente y vuelva a modificar el archivo.
Cosas adicionales que he probado que no han funcionado:
se aseguró de que la cuenta de usuario (para el "otro usuario") en ambas máquinas tenga el mismo UID. No estoy seguro de por qué esto sería necesario, ya que mi cuenta principal no tiene el mismo UID en ambas máquinas.
chmod u+s <dir>
ychmod g+s <dir>
dónde está el directorio que contiene el archivo en cuestión.cambiar la propiedad del archivo al otro usuario y colocarlo fuera del directorio de Dropbox, y crear un enlace simbólico al archivo en el directorio de Dropbox. ¡Dropbox realmente elimina el enlace simbólico, deja el archivo original (fuera del directorio de Dropbox) sin cambios y crea una nueva copia del archivo donde solía estar el enlace simbólico!
¿Cómo puedo configurar las cosas para que se conserven mis permisos y / o propiedad?
fuente
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 $@
y está ubicado en ./.dropbox-dist/ y se administra a través del script python suministradoColoque ese archivo en su propia carpeta y comparta esa carpeta con el otro usuario. De esta manera están editando la última versión como tú. Tenga cuidado de no trabajar en ello al mismo tiempo.
fuente
Si copia un archivo entre dos computadoras, el software que realiza la copia decide cuáles son los permisos de la copia. Para lo que está haciendo, necesita un mapeo de permisos bastante detallado. Las funciones de asignación de permisos de Dropbox se limitan a preservar los permisos si ambos sistemas ejecutan el mismo sistema operativo . No se garantizan resultados específicos para copiar entre dos sistemas operativos diferentes.
Incluso si pudieras encontrar alguna forma de usar Dropbox de la manera que quieras, te aconsejaría que no confíes en él. Las peculiaridades del software no documentado tienen una forma de desaparecer sin previo aviso. Debe mirar las herramientas de transferencia de archivos que están diseñadas teniendo en cuenta su caso de uso. Mi primera opción sería rsync , que es estándar en las distribuciones de Linux, y fácil de instalar en Windows, especialmente si tiene Cygwin . ¡Y Cygwin es generalmente útil para las personas que tienen que trabajar con Windows y Linux!
Por supuesto, rsync requiere una conexión directa: no hay un servidor central como el que proporciona Dropbox. La forma en que maneje eso depende de los detalles de la configuración de su red.
fuente