Dropbox를 사용하는 동안 특정 파일을 동기화하려고하는 두 대의 컴퓨터, Linux 및 Linux를 실행하는 PC가 있습니다.
내가 동기화하고있는 파일 중 하나는 다른 사용자 (다른 컴퓨터의 다른 드롭 박스 사용자를 참조하지 않고 같은 컴퓨터의 다른 UID)가 쓸 수 있어야합니다. 보다 구체적으로,이 다른 UID는 실제로는 데몬입니다. 따라서 다른 사용자가 파일을 소유하거나 “그룹”및 / 또는 “기타”에 대해 쓰기 권한이 필요합니다. 처음에는 두 시스템 에서이 방법을 설정했습니다. 또한 파일을 포함하는 디렉토리는 파일에 대한 쓰기 액세스 권한이 필요한 사용자가 이미 소유하고 있습니다 (chmod 777).
그러나 파일이 한 상자에서 다른 상자로 동기화 될 때마다 Dropbox는 두 가지 권한 세트를 완전히 무시하고 새로 업데이트 된 파일의 권한을 0644 권한으로 나에게 소유하도록 변경합니다 (rw는 나를 위해, 다른 사람은 r ). 파일이 본인이 소유하지 않은 경우 소유권을 본인에게 다시 변경합니다. 결과적으로 다른 사용자는 파일을 수동으로 입력하고 다시 수정하기 전까지는 더 이상 쓰기 권한이 없습니다.
내가 시도하지 않은 추가 사항 :
-
두 시스템의 사용자 계정 ( “다른 사용자”)이 동일한 UID를 갖도록하십시오. 내 기본 계정이 두 컴퓨터에서 동일한 UID를 가지지 않기 때문에 이것이 왜 필요한지 확실하지 않습니다.
-
chmod u+s <dir>
그리고chmod g+s <dir>
해당 파일이 들어있는 디렉토리는 어디에 있습니까? -
파일의 소유권을 다른 사용자로 변경하여 Dropbox 디렉토리 외부에 배치하고 Dropbox 디렉토리에 파일에 대한 심볼릭 링크를 만듭니다. Dropbox는 실제로 심볼릭 링크를 삭제하고 원본 파일 (Dropbox 디렉토리 외부)을 변경하지 않고 심볼릭 링크가 있던 파일의 새 복사본을 만듭니다!
내 권한 및 / 또는 소유권이 유지되도록 설정하는 방법은 무엇입니까?
답변
좋아, 여기 내가 찾은 해결책이 있습니다. 이것이 향후 버전의 Dropbox에서 작동하는지 여부는 확실하지 않습니다. 문제를 더 해결하기 위해 Dropbox로 서비스 요청을 열었습니다.
전체적으로이 솔루션은 다음 두 가지를 결합한 것입니다.
- 새로 만든 파일의 권한이 0660이되도록 Dropbox 프로세스의 umask를 설정합니다. 이는 사용자 읽기 / 쓰기, 그룹 읽기 / 쓰기, 기타 없음입니다.
- 새로 작성된 파일의 그룹을 해당 파일에 대한 쓰기 액세스 권한이 필요한 그룹으로 설정합니다.
이 솔루션은 단일 파일이 아니라 Dropbox 폴더의 모든 파일에 적용됩니다. 제 경우에는 허용됩니다.
리눅스에서는 /etc/init.d/dropbox
시작 스크립트를 수정하여 데몬으로 dropbox를 호출하는 줄이 읽습니다.
HOME="$HOMEDIR" start-stop-daemon --umask 0006 -b -o -c $dbuser:$dbgrp -S -u $dbuser -x $HOMEDIR/$DAEMON
--umask 0006
성취를 추가하면 umask 설정 이 완료 :$dbgrp
되고 -c 옵션 의 일부는 디먼이 속하는 그룹을 설정합니다.
Mac 측에서는 다음 명령을 실행합니다.
ps aux | grep -i dropbox
이것에서 Dropbox를 시작한 명령 행 옵션을 볼 수 있으며 이것에서 나중에 사용되는 $ mydropboxid를 추출합니다. 그런 다음 Dropbox를 종료하고 명령 프롬프트를 열고 다음 명령을 입력하십시오.
umask 0006
/Applications/Dropbox.app/Contents/MacOS/Dropbox -psn_0_$mydropboxid &
exit
기계가 재부팅 될 때마다 다시 실행할 필요가 없도록 위의 명령을 어느 시점에서 자동화 할 계획입니다.
파일의 그룹이 쓰기 액세스 권한을 갖도록 새로 작성된 파일의 마스크 설정을 처리합니다. 그러나 그룹을 올바르게 설정하려면 Dropbox 캐시 디렉토리를 설정해야합니다. 지금까지 한 번만 수행하면됩니다.
sudo chgrp -R $dbgrp ~/Dropbox/.dropbox.cache
sudo chmod -R g+s ~/Dropbox/.dropbox.cache
~ / Dropbox / .dropbox.cache 디렉토리에 모든 새 파일이 먼저 생성되는 것으로 보이므로 위의 명령은 해당 새 파일에 Dropbox가 생성 한 새 파일이 올바른 그룹을 갖는 적절한 소유권과 권한을 부여합니다.
답변
해당 파일을 자체 폴더에 넣고 해당 폴더를 다른 사용자와 공유하십시오. 이런 식으로 그들은 당신처럼 최신 버전을 편집하고 있습니다. 동시에 작업하지 않도록주의하십시오.
답변
두 컴퓨터간에 파일을 복사하면 복사를 수행하는 소프트웨어가 해당 복사에 대한 사용 권한을 결정합니다. 당신이하고있는 일에는 상당히 세분화 된 권한 매핑이 필요합니다. Dropbox 권한 매핑 기능은 두 시스템 모두 동일한 OS를 실행하는 경우 권한 보존으로 제한됩니다 . 두 개의 다른 OS간에 복사 할 경우 특정 결과가 보장되지 않습니다.
Dropbox를 원하는 방식으로 사용하는 방법을 알아낼 수 있다고해도 그 방법에 의존하지 않는 것이 좋습니다. 문서화되지 않은 소프트웨어 문제는 예고없이 사라질 수 있습니다. 사용 사례를 염두에두고 설계된 파일 전송 도구를 살펴 봐야합니다. 첫 번째 선택은 rsync입니다 . 이것은 Linux 배포판의 표준이며 특히 Cygwin 이있는 경우 Windows에 쉽게 설치할 수 있습니다 . Cygwin은 일반적으로 Windows와 Linux를 모두 사용해야하는 사람들에게 유용합니다!
물론 rsync에는 직접 연결이 필요합니다. Dropbox에서 제공하는 것과 같은 중앙 서버는 없습니다. 이를 처리하는 방법은 네트워크 설정의 세부 사항에 따라 다릅니다.