キャッシング - NFSの簡単な説明の設定
gbvy[W
最初の日から開発される前に、NFSは、ネットワークファイルシステムの略です。彼の最大の特徴は、別々のマシンは、別のオペレーティングシステムは、個々のファイル(共有ファイル)を共有するように彼はあまりにも、ファイルサーバーとして簡単にすることができ、ネットワークを介してです! NFSサーバーは、ローカルマシンに見えるように、ローカルマシンにそれらをマウントするには、リモートNFSディレクトリを共有するネットワーク上のホストにPCを作ることができる独自の一般的な場合と同様にリモートホストのディレクトリパーティション!
2.RPC
我々は、リモコンのライン時間の特定のサービスを使用するホストのIPは、サービスのポート番号など、いくつかの情報は、およびは、PIDなどのサービスに対応して対応する必要が管理する!ポートサービスの管理、作業に対応する相関関係は、これはリモートプロシージャコールは、RPCのタスク
Oのrpc.nfsdに:このデーモンの主な機能は、クライアントのホスト機関の管理には、ログインすることも裁判官のログインIDが含まれている問題かどうか人
oがrpc.mountdは:このデーモンの主な機能は、それがNFSファイルシステムの管理です! rpc.nfsdに、ログホストを経由してスムーズにクライアント側では、彼はファイルのパーミッションの前だけでなく、を介してファイルを提供するNFSサーバーを使用できない場合(所有者様との間- rwxrwxrwxされていることを、グループのアクセス許可数人の友人が)の認証プロセス!彼は、NFSの設定ファイルを読んでは、/ etc /パスのハードルの後に、NFSファイルのクライアントはそれを使用する許可を得ることができるクライアントの権利を、一致するように輸出! (注:これは我々の場所マイルのディレクトリのNFS共有のアクセス許可とセキュリティ設定を管理するために使用したものです)
4.NFSは、ジョブの2つのパッケージを持っている必要があります:
nfs-utils
rpc.nfsdにおよびrpc.mountdは2つのNFSデーモンおよびその他の関連ドキュメントやマニュアル、実行可能ファイルや他のパッケージを提供することです!メインパッケージは、NFSです
portmap
a)./etc/exports
1株ディレクトリのホスト名またはIP1の(パラメータ1パラメータ2)2またはホスト名IP2が(パラメータ3、パラメータ4)
b)に。パラメータ
roの:読み取り専用のアクセス許可
no_root_squashを:それがルートである場合、ログのNFS共有ディレクトリからの、ホストのユーザーを使用してディレクトリを共有し、彼はルート権限を持っている!プロジェクト』はお勧めしません、非常に安全ではない』!
all_squash:ステータスに関係なく、ログのNFSのユーザーは、自分のアイデンティティは、匿名ユーザーとして圧縮されます、通常、誰もそれです!
anonuidオプション:*の_squashは、匿名ユーザのUIDの設定は、通常誰も先ほど述べたように、しかし、あなたは、UIDの値を設定することができます!もちろん、UIDがあなたの/ etc /にpasswdに存在する必要があります!
anongid:anonuidオプションと、それはグループIDになることを望んで
シンク:メモリ、ハードドライブに書き込まれるデータの同期化、
6。設定例:
)。 / tmpに*がに(rw、no_root_squashを)* / / *の数がすべてのIPにアクセスすることができます
b). /tmp *(rw)
/home/public 192.168.0.0/24(rw) *(ro)
c)の/マシン本体のみのホーム/テスト192.168.0.100(rw)を/ /セットのアクセス許可
d)です。 / linuxの/ homeの*. linux.orgはに(rw、all_squash = 40は、anongid anonuidオプション= 40)/ / *. NFSホストに着陸する/ linuxは、すべてのグループとファイルの所有者を次のファイルを書き込み/ home、およびでlinux.org、それがなるの/ etc / UIDを40は、そのユーザーのIDに対応するpasswdファイル。
と仮定すると/ etc / exportsの内容の内部
#vi /etc/exports
/tmp *(rw,no_root_squash)
/home/public 192.168.0.*(rw) *(ro)
/home/test 192.168.0.100(rw)
/home/linux *.linux.org(rw,all_squash,anonuid=40,anongid=40)
192.168.0.100、クライアント側の着陸にNFSを私たちと仮定、そのホスト(192.168.0.2)は、
ケースは、1:この容量でテスト192.168.0.100アカウントが、NFSホストにも、このアカウントをテストする
)。 NFSホストの/ tmpのアクセス許可- rwxrwxrwtには、次のアクセス権を持つ/ tmpの私(192.168.0.100のテスト)は、書き込みようにすべてのファイルをテストすることができます。
。NFSホスト/ホーム/オープンされていないユーザーが書き込みアクセス権をテストするために公開する場合、それはまた、動作しない場合、rwです/ etc / exportsにもかかわらず、書き込むことはできません。
c)の/ホーム/テスト、アクセス許可とで、/ home /国民が同じ状態を持って、あなたはオープンアクセスでテストするには、/ test / homeをNFSホストする必要があります。
後者の場合:もしtest2のように私たち192.168.0.100のIDが、アカウントには、test2はなかったNFSホスト
)。 / tmpまたはの下に書き込むことができますが、すべてのファイルが誰に書き込まれます。
のUID = 40、下またはアカウントにC)/ホーム/ Linuxのステータスを表示します。
3つのケース:192.168.0.100のルートのアイデンティティ
)。しかし、書くことができますので、パラメータをno_root_squashを変更する既定の設定root_squashを、そこらで/ tmpに/すべてのファイルのルートのために書くtmpに。
b)に。デフォルトのプロパティがroot_squashをしたためで、/ home /パブリックIDは、誰の下で圧縮されているので、ファイルは誰の所有者になります。
d)です。 /ホーム/ linuxがで、ルート識別情報は、ユーザーが持っているのUID = 40に圧縮されています。
8。サービスの開始のportmap、NFSの
#/etc/rc.d/init.d/portmap start (or:#service portmap start)
#/etc/rc.d/init.d/nfs start (or:#service nfs start)
9.exportfs使用
私たちは、/ etc / exportsを変更した場合は、exportfsでスキャン限り一つとして、NFSサービスを再起動する必要はありません/ /輸出、再ロードされた等
-:すべての(またはアンインストール)/ etc / exportsの設定ファイルをマウントする
- Rを:再マウントは/ etc /また、設定内の輸出が、同期更新の/ etc / exportsと/ var / lib / nfsが/ xtabを内容の中
- Uは:カタログをアンインストールする
- Vは:エクスポート時に、画面にディレクトリの表示を共有することになります。
#/ /再エクスポート時には、exportfs - rvを
#はexportfs - auの/ /すべてのアンロード
/tmp node3(ro,sync,wdelay,hide,secure,root_squash,no_all_squash,subtree_check,secure_locks,mapping=identity,anonuid=-2,anongid=-2)
なぜanonuidオプション=- 2は?ハハ! 65534それをUIDのこと、つまり、2値 - 実際にはそれは言うは65536です!コントロールは何の/ etc / passwdには、すごいでしょう!元は誰の権利です
11.showmountコマンド
-:現在のホストとクライアントは、ディレクトリの利用状況を接続であることを示しています
- Eは:共有ディレクトリ内の/ etc / exportsにショーのホスト名
12。アクティブなポート番号を見る
#netstat -utln
***********************************************
NFSクライアントの設定
心配誤っSUIDされた特権プログラムの実行とファイルをぶら下げNFSクライアントに来るのには、rootは、NFSのディレクトリには、より安全なの状況をマウントすることができます共有することができます
#mount -t nfs -o nosuid,ro hostname:/directory /mountponit
可能性のある問題エリア:
2。活性化のportmapを忘れては、文句を言う:
マウント:RPCの:ポートマッパーのエラーが - のRPC:できない、または受信する
mount: RPC: Program not registered
#service portmap start
#service nfs restart
3。ファイアウォールは取り除くこと
リセットiptablesとtcp_wrappersを含むファイアウォール、portmapと活性化は、そのポート111から提供される必要があるためです。したがって、iptablesの規則では、我々は追加する必要があります:
iptables -A INPUT -p TCP --dport 111 -j ACCEPT
iptables -A INPUT -p UDP --dport 111 -j ACCEPT
十分ではない場合は、その問題は、チェック/ etc / hosts.denyに、その行がされている場合TCP_WRAPPERSのです:
ALL: ALL: deny
これは、にする必要があります/ etc / hosts.allowを追加:
portmap: ALL: allow
iptables -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP -s 192.168.0.0/24 --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p TCP -s 140.0.0.0/8 --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP -s 140.0.0.0/8 --dport 111 -j ACCEPT
また、で、tcp_wrappersを使用することができますの/ etc / IPと名前、たとえば、ホストを提供するNFSホストにhosts.allowを、
#vi /.etc/hosts.allow
portmap: 192.168.0.0/255.255.255.0 :allow
portmap: 140.113.23.23 :allow
portmap: .sdu.edu.cn :allow
関連コマンドについては、RPCサーバー
rpcinfo
#rpcinfo -p hostname(orIP)
エラーが検出された場合AMD64用TurboLinux8.0(カーネル2.4.21 - 4smp)では、NFSマウント:
portmap: server localhost not responding, timed out
mount -t nfs -o nolock node1:/public /public
ため、増加の- oにNOLOCKパラメータ:
Unfsd doesn't support NLM locking, and it's causing the lockd daemon to be started (which again requires the portmapper to be installed etc.)