Linux NFSはマスクを作成し、同等のユーザーを強制します


11

2つのLinuxサーバーがあります。

ファイルサーバー
Debian 5.0.3(2.6.26-2-686)
Sambaバージョン3.4.2

apache
Ubuntu 10.04 LTS(2.6.32-23-generic)
Apache 2.2.14

Windows PCからファイルにアクセスできるように、ファイルサーバーに多数のSamba共有を持っています。また/data/www-dataApacheサーバーにエクスポートし、そこでマウントし/var/wwwます。

NFSマウントでファイルを作成するときを除いて、セットアップは大丈夫です。Apacheで読み取れないファイル、またはシステム上の他のユーザーが変更できないファイルになります。

サンバでは、私が指定することができforce userforce groupcreate maskそしてdirectory mask、すべてのファイルが私のApache Webサーバに適したアクセス権で作成されていることを、この保証します。NFSでこれを行う方法が見つかりません。NFSで許可と所有権を強制する方法はありますか?明らかな何かが欠けていますか?

私はLinuxでかなりの時間を費やし、Windowsから離乳しましたが、Linuxの許可を把握する必要はまだありません。代替案。

回答:


12

あなたがWindowsから来ていることを考えると、NFSは...異なることがわかります。

実行中の問題はかなり一般的です。NFSは、ユーザーIDとグループIDが両方で同一にマッピングされることを前提として、マシン間でファイル/ディレクトリのUIDとGIDをやり取りしています。これは、サーバー上のUID / GIDがNFSクライアントに返されるが、クライアントの/etc/passwdまたは/etc/groupで一致しない場合があり、アクセスできないことを意味します。

(遠い)過去に、これはNISおよびNIS +と共同で作成されましたが、このフレームワークに組み込まれている他のスキームもあります(SambaのWinbindはその1つです)。ただし、これには中央IDサーバーが必要で、その後に多くの手作業によるアクセス許可が必要です。

これを修正するにはさまざまな方法がありますが、最も安く/最も速いのは、両方のマシンで同じグループID番号(グループID 50000など)でグループを作成し、ファイルサーバーに適切なユーザーを追加しながらグループビットを設定することですクライアント上のグループ。次に、ファイルのグループ権限を使用してアクセスを制御します。優れたソリューションではありませんが、機能します。実行時に明示的にグループを変更するサービス(特権ドロップ)で問題が発生する可能性があることに注意してください。作成したグループであることを確認するには、実行時に想定されるグループを制御する設定を変更する必要がある場合があります。

Windows共有(別名Samba)経由でインバウンドするファイルの場合、グループを作成したものと同じものにするだけです。これにより、すべてのファイルが自動的に「正しい」GIDを取得します。


考慮された応答をありがとう。グループビットメソッドを調べて、私がどのように着手するかをお知らせします。
マイク

www-dataファイルサーバーにグループを作成し、必要なユーザーを割り当て、www-data両方のサーバーに同じグループIDを設定しました。また、/data/www-dataフォルダのグループビットをで設定しますchmod -R g+s /var/www-data。現在、完全に機能しています。ご協力いただきありがとうございます。
マイク

それを聞いてうれしい!
エイブリーペイン

NFSがMacクライアントに対してこれを行うことができればいいと思います。
d -_- b

9

またall_squash、エクスポートされたすべてのファイルとフォルダーを匿名(ユーザーとグループ)にし、それらを特定のGIDとUIDに添付するオプションを使用することもできます。

/data/www-data apache(rw,all_squash,anonuid=<your UID>,anongid=<your GID>,sync)

それに関する問題は、apacheサーバー上のすべてのユーザーがnobody nobodyユーザーおよびグループとしてマウントポイントを参照し、マウントに書き込むことができることです(ただし、Sambaサーバーでは、ファイルは<your UID>/ として作成されます<your GID>)。


これで私の問題は解決しました!
ルチアーノアンドレスマティーニ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.