元のディレクトリのUIDを別のディレクトリにマッピングしながら、あるディレクトリを別のディレクトリにマウントする

元のディレクトリのUIDを別のディレクトリにマッピングしながら、あるディレクトリを別のディレクトリにマウントする

/var/www/mysiteディレクトリ をディレクトリ にマウントしたいのです/home/daniel/mysiteが、マウントされたファイルのユーザーを元のユーザー ( www-data) から自分のユーザー ( daniel) にマップしたいと思います。

/var/www/mysite/index.phpこうすることで、そのユーザーがwww-dataマウントされたディレクトリにそのファイルが表示され、/home/daniel/mysite/index.php所有者がユーザーになりますdaniel。また、/home/daniel/mysite/test.php自分のユーザーでファイルを作成すると、そのユーザーの元のディレクトリにファイルが作成されます。www-data

それは可能ですか? 不可能な場合、IDE を使用してすべてのファイルが HTTP サーバーのユーザーに属していることを確認できる代替手段はありますか?

答え1

最も簡単な解決策は、mysite フォルダーの下にあるすべてのものへの書き込みアクセス権を自分に付与した後、ln -s を使用してホーム ドライブの下にある mysite フォルダーへのシンボリック リンクを作成することです。

答え2

私は結局、NFSを使ってこの難問を解決しました。このチュートリアルをベースとして、最終的に次のようになりました/etc/exports

/var/www/mysite localhost(rw,sync,no_subtree_check,all_squash,anonuid=33,anongid=33)

(すべて 1 行に入力します。33 はwww-dataの UID と GID です)

そして、次のとおりです/etc/fstab

localhost:/var/www/mysite /home/daniel/mysite nfs4 defaults 0 0

ディレクトリを参照すると、すべてのファイルが に属していると表示されますwww-data:www-dataが、自分のユーザーに属しているかのようにファイルを作成および編集できます。

関連情報