「デュアルブート」の版間の差分

Notion-MW
Notion-MW
 
80行目: 80行目:
Windowsに挙動を近づけるための他のオプションとしては<strong>inherit</strong>というのもあり、これは新規作成時に上位フォルダの権限を継承するものである。しかし、これは<u>所有者を継承するオプションではない</u>(そして、所有者が違えばまともに継承もされない)。
Windowsに挙動を近づけるための他のオプションとしては<strong>inherit</strong>というのもあり、これは新規作成時に上位フォルダの権限を継承するものである。しかし、これは<u>所有者を継承するオプションではない</u>(そして、所有者が違えばまともに継承もされない)。


* [https://github.com/tuxera/ntfs-3g/issues/90 https&#58;//github.com/tuxera/ntfs&#45;3g/issues/90] では、UserMappingがなくても所有者が継承されるようになるパッチが示されているが、これを使うとpermissionsは動かなくなる(chmodなどが使えない)。
* [https://github.com/tuxera/ntfs-3g/issues/90 https&#58;//github.com/tuxera/ntfs&#45;3g/issues/90] では、UserMappingがなくても所有者が継承されるようになるパッチが示されているが、これを使うとpermissionsは動かなくなる(chmodなどが使えない)。自力で変えようとしてみたが、うまくいかなかった。


以上のことから、Windowsの一般ユーザーフォルダの内容などをLinuxから良い感じに(Windows側の権限設定を汚染せずに)使えるようにするには、明示的なUserMappingが事実上必須であることがわかる。
以上のことから、Windowsの一般ユーザーフォルダの内容などをLinuxから良い感じに(Windows側の権限設定を汚染せずに)使えるようにするには、明示的なUserMappingが事実上必須であることがわかる。
89行目: 89行目:


また、Windowsではファイルの新規作成時には必ず実行権限が付加されるので、Linux側でそれを見た場合も実行可能になる(実行権限を外すと.exeなどが実行できなくなる)。従って、GitのレポジトリのフォルダをWindows/Linux間で共用するようなことをすると、Windows側では実行権限無しで(これがデフォルトであるため)コミットされたファイルがLinux側では実行権限有りに見えるため差分が出てしまうといったことが発生する。これはUserMappingでも解決はできないので、Gitリポジトリのあるフォルダを共用するのは不可能である。
また、Windowsではファイルの新規作成時には必ず実行権限が付加されるので、Linux側でそれを見た場合も実行可能になる(実行権限を外すと.exeなどが実行できなくなる)。従って、GitのレポジトリのフォルダをWindows/Linux間で共用するようなことをすると、Windows側では実行権限無しで(これがデフォルトであるため)コミットされたファイルがLinux側では実行権限有りに見えるため差分が出てしまうといったことが発生する。これはUserMappingでも解決はできないので、Gitリポジトリのあるフォルダを共用するのは不可能である。
結局、後述のbindfsと組み合わせると、以下のようにするのが良さそう。
<ul>
<li><p>大元のntfsパーティションは、permissionsでマウント。UserMappingを使ってもよい。</p></li>
<li><p>Linux側でパーミッションを変更できる必要がなく、Windows側と共用したいものについては、bindfsで再マウントし、create&#45;with&#45;perms&#61;a+rwxによってWindows側でアクセスに制約が出ないようにする。</p>
<ul>
<li><p>より完全なオプションとしては、以下のような感じ?</p>
<syntaxhighlight lang="javascript">map=root/myname:@root/@myname,perms=a+rwx,create-with-perms=a+rwx,chown-ignore,chgrp-ignore,chmod-ignore</syntaxhighlight></li></ul>
</li>
<li><p>Gitのようにパーミッションを変更できる必要があるものは、改めてこれも別のbindfsとして再マウントする。</p></li>
<li><p>あるいはbindfsを1つにまとめてcreate&#45;with&#45;perms&#61;+rw(xは指定しない)にするのもいけるかもしれないが、本当にうまくいくかどうか…</p></li></ul>


==== bindfs ====
==== bindfs ====