LAN上のLinux NFSファイルサーバー(srv)と3つのLinuxクライアント(A、B、C)シナリオを想像してみてください。 srvのファイル/ディレクトリにはroot所有権があり、root以外のユーザーにはアクセス権がありません。これは質問に関連するファイルです。私はこれを「ルート制限ファイル」と呼びます。
ㅏローカルシステム管理者である必要があります。彼または彼女はsrvのルート制限ファイルへの無料アクセスを必要とします。
第二自分のコンピュータにsudo権限を持つローカル開発者です。しかしBはしなければならない。いいえサーバーがルート制限ファイル/ディレクトリを読み書きする、または移動する機能。実際、Bがsudo権限を持っていても、Bは自分が属するグループに属していないsrvのファイルにアクセスできないはずです。
氏sudo権限を持たないローカルユーザー。 Cはsrvの通常のファイルにアクセスできるはずですが、ローカルまたはサーバーのルートによって制限されたファイルにはアクセスできません。
一方:
srv は 192.168.1.1 にあります。
Aは192.168.1.2にあります。
Bは192.168.1.3にあります。
Cは192.168.1.4にあります。
/etc/exportsが目標を達成していますか?
/srv/nfs 192.168.1.2(rw,no_root_squash)
/srv/nfs 192.168.1.3(rw,root_squash)
/srv/nfs 192.168.1.4(rw,root_squash)
他のどのNFSオプションが推奨されますか?しかし、最も重要なのは、IPアドレスが偽装できないと仮定すると、root_squashはこのソリューションを実装できますか?
次に、自分のコンピュータにsudo権限を持つ開発者がno_root_squahなしでIPアドレスを192.168.1.2のようになりすましたとしましょう。どのソリューションが必要ですか? LDAP+Kerberos?他にはありませんか?
NFSで私たちの目標を達成できますか? SSHFSやSamba 4などのソリューションがより良いソリューションですか?
(「ルート制限ファイル」が最も適切な用語ではない場合は、編集提案を歓迎します。)
ベストアンサー1
NFSは、クライアントによって提供されたUID / GIDのみを使用します。squash_root
オプションの使用exports
共有の場合、rootユーザーを匿名ユーザー(nobody/nogroup
)にマップします。これにより、悪意のあるまたは破損したクライアントが他のファイルへのアクセスを許可する可能性がある他のUID / GIDを提供することを防ぎません。
NFSサーバーをなりすましユーザーから保護するには、Kerberosを使用してNFSユーザーを認証する必要があります。 Kerberosを使用するNFSは、オプションのデータ整合性と暗号化も提供します。関連情報をすばやく理解するには、次の簡単な方法をご覧ください。Ubuntu Wiki。