
私は自宅と職場の両方のコンピューターで、主な開発環境として Cygwin を使用しています。
2 台のコンピューター間でファイルを共有するために、両方のコンピューターの次のフォルダーにインストールされている Dropbox を使用します: c:\cygwin\home\dvanaria\dropbox
1 つを除いて、すべてうまく動作します。自宅のコンピューターで作業しているときに、任意のディレクトリで ls -l を実行すると、すべてのファイルがグループ Users の dvanaria によって所有されていると表示されます。しかし、職場のコンピューターで作業している場合、ls -l はすべてのファイルを Administrators によって所有され、グループ Domain Users として表示します。
Cygwin が Windows ユーザーと /etc/passwd ファイルの権限との間で何らかのマッピングを使用していることは知っています。しかし、正直なところ、このファイルがどのように機能するか、または Cygwin で Windows にどのようにマッピングされるかはわかりません。
誰かこれを解決するのを手伝ってくれませんか? 主な問題は、仕事用のコンピューターを使用しているときにファイルを編集できず、読み取ることしかできないことです。
答え1
まず、これらのファイルは 2 台のコンピュータ上で同じファイルではありません。Dropbox は単にコンピュータ間でコピーを作成しているだけです。実際のファイル共有 (Windows の「共有」の意味) は行われていません。次に、2 台の異なるコンピュータ上で 2 人の異なるユーザーであるため、2 台の異なるコンピュータ上でファイルが別のユーザーによって所有されているとしても驚くことではありません。
では、なぜ職場のマシンでは所有者がグループ Administrators として表示されるのに、自宅のマシンでは表示されないのかと疑問に思うかもしれません。Windows には、新しく作成されたファイルの所有者を、そのファイルを作成したユーザーとグループ Administrators (ユーザーがグループ Administrators のメンバーである場合) のどちらにするかを制御するローカル セキュリティ ポリシーがあります。明らかに、そのポリシーは 2 つのマシン間で異なります。また、職場のマシンではそのポリシーがドメイン コントローラーによって強制されている場合があり、変更できない可能性があります。