NFS マウント権限の変更 + ゲスト VM とディレクトリの共有

NFS マウント権限の変更 + ゲスト VM とディレクトリの共有

私は、ホスト環境(OSX)のフォルダがUbuntuゲストを実行しているVirtualBox VMにマウントされる開発環境を構築しています。

私たちの経験によれば、単純なVirtualBox共有ディレクトリは遅すぎるので、通常、ゲストはそのディレクトリをNFSとしてマウントすることによってこれを行います。ホスト環境でリアルタイム編集が必要です。

問題は、chownおよびetc操作がchgrp失敗し、本番環境に近い項目(www-dataApacheで使用されているファイルの保存など)をコピーする必要があることです。

ファイルシステムバインディング有望に見えます:

binfs - 変更された権限でローカルディレクトリをミラーリングまたは上書きします。

ただし、デフォルトのUnixユーティリティとシステムコールを使用して権限を変更することはできません。ボックスを提供する既存の構成管理システム(Salt、P​​uppet)と統合する必要があるため、このアプローチは私には適していません。

権限の観点から、NFSマウントを通常のディレクトリのように見せる別の方法はありますか?それとも、ディレクトリをVirtualBox VMにマウントする別のオプションはありますか?

編集する:これはインストールの結果です。

192.168.34.1:/Users/$me/src/states /etc/apps/state type nfs (rw,vers=3,addr=192.168.34.1)
192.168.34.1:/Users/$me/src/apps on /srv/apps type nfs (rw,vers=3,addr=192.168.34.1)

権限の変更が「失敗しました」と言うと、「操作が許可されていません」というエラーが発生することを意味します。

たとえば、

$ ls -l /srv/www
total 8
drwxrwxr-x 4 501 dialout 136 May 31 16:20 default_vhost
drwxrwxr-x 5 501 dialout 170 May 31 16:20 default_vhost_ssl
$ chown root /srv/www/*
chown: changing ownership of `/srv/www/default_vhost': Operation not permitted
chown: changing ownership of `/srv/www/default_vhost_ssl': Operation not permitted

答え1

ルートのみ利用可能chown。 NFSを使用するかどうかに関係なく、chownrootとして実行する必要があります。

デフォルトでは、NFSはローカルrootユーザーをリモートユーザーにマップしますnobody。これによりchown使用できなくなり、サーバーで実行する必要があります。クライアントルートにNFSファイルシステムに対するroot権限がある場合は、このno_root_squashオプションを使用してファイルシステムをエクスポートします。つまり、サーバーには/etc/exports次のものが必要です。

/Users/$me/src/states 192.168.34.2(no_root_squash,async)

関連情報