Linux NFS-HOWTO Tavis Barr tavis@mahler.econ.columbia.edu Nicolai Langfeldt janl@linpro.no Seth Vidal skvidal@phy.duke.edu ìY - (ú{êó) nakano@apm.seikei.ac.jp 2002-01-26 (original 2000-12-28) ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª Table of Contents 1. O« 1.1. @I鱮 1.2. ÆÓ 1.3. tB[hobN 1.4. Ó« 2. ͶßÉ 2.1. NFS Æͽ©? 2.2. ±Ì HOWTO ͽ© (»µÄ½ÅÍÈ¢©) 2.3. OÉKvƳêém¯ 2.4. OÉKvÆÈé\tgEFA: J[lo[WÆ nfs-utils 2.5. wvâæèÚ×ÈîñÌ è© 3. NFS T[oÌÝè 3.1. T[oÝèÌTª 3.2. Ýèt@CÌÒW 3.2.1. /etc/exports 3.2.2. /etc/hosts.allow Æ /etc/hosts.deny 3.3. T[rXðJn·é 3.3.1. OÌõ 3.3.2. |[g}bpðN®·é 3.3.3. »ê¼êÌf[ 3.4. NFS ª®ìµÄ¢é©mF·é 3.5. ÆÅ /etc/exports ðÏX·é 4. NFS NCAgÌÝè 4.1. [gÌfBNgð}Eg·é 4.2. NFS t@CVXeðu[gÉ}Eg³¹é 4.3. }EgÌIvV 4.3.1. \tg}EgÆn[h}Eg 4.3.2. ubNTCYðÝèµÄ]¬xðÅK»·é 5. NFS Ì«\ðÅK»·é 5.1. ubNTCYÝèÅ]¬xðÅK»·é 5.2. pPbgTCYÆlbg[NhCo 5.3. NFSD ÌCX^XÌ 5.4. üÍL [̧À 5.5. tOg³ê½pPbgÌI[o[t[ 5.6. NIC ÆnuÌ©®lSVG[Vð³øÉ·é 5.7. T[oÌ«\ð °é NFS ÈOÌû@ 6. ZL eBÆ NFS 6.1. |[g}bp 6.2. T[oÌZL eB: nfsd Æ mountd 6.3. NCAgÌZL eB 6.3.1. nosuid }EgIvV 6.3.2. broken_suid }EgIvV 6.3.3. |[g}bpArpc.statd, rpc.lockd ðNCAgÅÀS É·é 6.4. NFS Æt@CAEH[ (ipchains Æ iptables) 6.5. ÜÆß 7. guV [g 7.1. }Egµ½t@CVXeÅt@Cª©¦È¢ 7.2. t@CNGXgªnOµ½èAANZXÒ¿Å^CAEg· é 7.3. t@CVXeð}EgÅ«È¢ 7.4. }Egµ½{ [ÅAt@CÉANZX·é Àª èܹ ñ 7.5. ñíÉå«Èt@Cð]·éÆA NFS ªT[oÌ CPU ðæÁÄ µÜÁÄA~ÜÁ½æ¤ÉÈÁĵܢܷ 7.6. OÉïÈG[bZ[Wªoé 7.7. ÀÛÌp[~bVª /etc/exports ÌwèÆÙÈé 7.8. ¨©µÈAsÀèÈU¢ð·é 7.9. nfsd ªN®µÈ¢ 8. Linux Ì NFS ð¼Ì OS Æg¤ 8.1. AIX 8.1.1. Linux NCAgÆ AIX T[o 8.1.2. AIX NCAgÆ Linux T[o 8.2. BSD 8.2.1. BSD T[oÆ Linux NCAg 8.2.2. Linux T[oÆ BSD NCAg 8.3. Compaq Tru64 Unix 8.3.1. Tru64 Unix T[oÆ Linux NCAg 8.3.2. Linux T[oÆ Tru64 Unix NCAg 8.4. HP-UX 8.4.1. HP-UX T[oÆ Linux NCAg 8.4.2. Linux T[oÆ HP-UX NCAg 8.5. IRIX 8.5.1. IRIX T[oÆ Linux NCAg 8.5.2. IRIX NCAgÆ Linux T[o 8.6. Solaris 8.6.1. Solaris T[o 8.6.2. Solaris NCAg 8.7. SunOS 8.7.1. SunOS T[o 8.7.2. SunOS NCAg 1. O« 1.1. @I鱮 Copyright (c) <2001> by Tavis Barr, Nicolai Langfeldt, and Seth Vidal. This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at http:// www.opencontent.org/openpub/). ±Ì¶Ìì Í Copyright (c) 2001 Travis Barr, Nicolai Langfeldt, Seth Vidal É èÜ·B±Ì¶ÍAOpen Publication License v1.0 ¨æÑ »êÈ~ (ÅVÅÍ http://www.opencontent.org/openpub/ É èÜ·B±Ì ú{êóÍ http://www.opensource.jp/openpub/ É èÜ·) ÌðEðÉ ]¦ÎÄzzÅ«Ü·B |óÍìYªs¢Üµ½B Copyright (C) 1997-2001 Takeo Nakano. C ZXͯ¶ Open Publication License v1.0 (IvVȵ) ¨æÑ» êÈ~É]¢Ü·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 1.2. ÆÓ This document is provided without any guarantees, including merchantability or fitness for a particular use. The maintainers cannot be responsible if following instructions in this document leads to damaged equipment or data, angry neighbors, strange habits, divorce, or any other calamity. ±Ì¶ÌñÉ ½ÁÄÍA¤pÅ é©Û©AÁèÌÚIÉK·é©µ È¢©ðÜßA½ÌÛØà èܹñB±Ì¶ÌȺɨ¯éà¾ÉæÁ Ä@íâf[^ªíQðó¯½èAßÌlª{Á½èAïÈKµªÂ¢Ä µÜÁ½èA£¥·é±ÆÉÈÁ½èA»Ì¼ çäésKª¶¶½ÆµÄà A±Ì¶ÌÇÒͽÌÓCऱƪūܹñB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 1.3. tB[hobN ±Ì¶Íܾܾ®¬µ½àÌÅÍ èܹñB±Ì¶ðüã³¹é½ß ÌtB[hobNð½}µÜ·B 2000 N 10 Ì_ɨ¢ÄÍALinux NFS z[y[WÍ http://nfs.sourceforge.net Å·B[OXgEoO tBbNXEXVÉÖµÄâA»Ý̶̱ÌÇÒÉ¢ÄÍA±¿çÌ y[Wð`FbNµÄ¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 1.4. Ó« Linux Ì NFS ͽÌl̦ÍÉæÁÄÂ\ÉÈèܵ½Bµ©µÅà½l ©ÌlXÍÁɦµÄ¨¿lª éŵå¤BIWiÌo[WÍ Olaf Kirch Æ Alan Cox ÉæÁÄJ³êܵ½Bversion 3 T[oÌR[h ÍA Saadia Khan, James Yarbrough, Allen Morris, H.J. Lu çÌìÆðàÆ ÉANeil Brown ªSÈàÌɵܵ½ (Þ©gàIWiÌìÆÒÉÜÜ êÜ·)BNCAgÌR[hÍ Olaf Kirch ª«A Trond Myklebust ª XVµÄ¢Ü·B version 4 ÌbN}l[WÍ Saadia Khan ªJµÜ µ½B Dave Higgen Æ H.J. Lu Ìñlª´Ó³êé±ÆÌÈ¢dðø« ó¯AÇÛÆoOtBbNXðÏÉIÉs¢AR[hªúÒÊèÉ®ì· éæ¤ÉµÄêܵ½Bà¿ëñ´Ó·×«lÍܾܾ½³ñ¢Ü·B ±Ì¶ÌIWiÅÍ Nicolai Langfeldt ª«Üµ½B 2000 NÉ Tavis Barr Æ Seth Vidal ÉæÁĽ̪ª«·¦çêA 2.0 J[l ©ç 2.4 J[lÌÔÉJ³ê½A Linux p NFS Å̳ܴÜÈÏXª ½f³êܵ½B Thomas Emmel, Neil Brown, Trond Myklebust, Erez Zadok, Ion Badulescu çªA¿l éRgÆv£ðñ¹Äêܵ½B ó: |óÉÛµÄÍAJF ML ÌF³ñɨ¢bÉÈèܵ½BÁɩ˱³ ñÆä³ñÉÍASÌðʵÄLvÈRg𢽾«Üµ½B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 2. ͶßÉ 2.1. NFS Æͽ©? Network File System (NFS) ÍA[g}VÌfBXNp[eBVð [JÌn[hfBXNÌæ¤É}EgÅ«éæ¤É·éàÌÅ·B NFS ðp¢éÆAlbg[NðîµÄA¬©ÂV[XÈt@C¤LªÂ \ÉÈèÜ·B êû NFS ÌÝèðÔá¦éÆA]ܵȢlXª ȽÌn[hhCuÉ ÎµÄlbg[NoRÅANZXūĵܤÂ\«à¶¶Ü· (»µÄ [ðÇÜê½èA·×ÄÌt@CðÁ³ê½èAVXeÉNü³êé© àµêܹñ)BÅ·©çANFS ÌÝèðs¤ÂàèÈçA±Ì¶ÌZL eBÌÍðÓµÄæÇñž³¢B NFS ƯlÌ@\ðñ·éVXeͼÉà èÜ·B Samba Í Windows NCAgÉt@CT[rXðñµÜ·BÅßI[v\[XÉÈÁ½ IBM Ì Andrew File System (http://www.transarc.com/Product/EFS/AFS/ index.html) àt@C¤L@\ðñµA³çÉZL eBâ«\ðüã ³¹é½ßÌ@\àÇÁ³êĢܷB Coda File System (http:// www.coda.cs.cmu.edu/) ÍA±Ì¶ð¢Ä¢é_ÅÍܾJÌiKÅ ·ªAÚ±ª¸íê½NCAgÅà¤Ü®ì·éæ¤ÉÝv³êÄ¢Ü ·B Andrew File System â Coda File System Ì@\̽ÍAÌÅÌ NFS (Version 4)ÉæèÜêé\èÅ· (http://www.nfsv4.org)B¡úɨ ¯é NFS Ì_ÍA¬nµÄ¢é±ÆAWÅ é±ÆA檩ÁÄ¢é± ÆA½³ñÌvbgtH[ÅÅÉT|[g³êÄ¢é±ÆAÅ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 2.2. ±Ì HOWTO ͽ© (»µÄ½ÅÍÈ¢©) ±Ì HOWTO ÍANFS 𳵩Âø¦IÉÝè·é½ßÌA®SÈXebvo CXebvÌKChÆÈé×·M³êĢܷB NFS ÌÝèÍ 2 ÂÌiK ©çÈèÜ·B·Èí¿T[oÌÝèÆNCAgÌÝèÅ·B³çÉ±Ì ¶ÍAÁèÌprÉ NFS ðp¢élü¯ÌqgâAn[hEFAÌÝèA ZL eBAguV [gÉQlÉÈéîñðñµÄ¢Ü·B ±Ì HOWTO Í NFS Ìgâºw\¢ðLq·éàÌÅÍ èܹñB»ÌÚ IÉÍAHal Stern ª¢½ O'Reilly & Associates, Inc. Ì Managing NFS and NIS ª¢¢Åµå¤ (ÅÌMóªAXL[©çoĢܷ)B±Ì{Í© ÈèOÌàÌÅ·ªANFS Ì\¢ÌÙÆñÇÍÏíÁĢܹñµA±Ì{Å Í»êªñíɾðÉླêĢܷB NFS ÉÖ·éàÁƸÁÆx©Â ÅVÌZpîñÍA Brent Callaghan Ì NFS Illustrated É¢Ä èÜ· (MóªwNFS oCuxÆ¢¤¼ÅAXL[©çoĢܷ)B ±Ì¶Í®SÈt@X}j AðÚwµ½àÌÅàÈA Linux NFS ÌcåÈ@\ÌXg·×ÄðÜÞàÌÅà èܹñB±ÌÚIÉÍA nfs(5), exports(5), mount(8), fstab(5), nfsd(8), lockd(8), statd(8), rquotad(8), mountd(8) ÈÇÌ man y[WðÇñž³¢B ±Ì¶Í PC-NFS ðµ¢Ü¹ñB±êÍâŷµAPC Æt@C¤L·é ÉÍ Samba ÌÙ¤ª¢¢Å·Bܽ NFS Version 4 ÍܾJÅ·ÌÅA ±êൢܹñB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 2.3. OÉKvƳêém¯ ±Ì HOWTO ðÇÞÉÍATCP/IP lbg[NÉÖ·éî{IÈm¯ªKvÅ ·B©MªÈ¢êÍ Networking-Overview-HOWTO <http://www.linuxdoc.org /HOWTO/Networking-Overview-HOWTO.html> (ú{êó <http:// www.linux.or.jp/JF/JFdocs/Networking-Overview-HOWTO.html>ª JF É èÜ ·) ðÇñž³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 2.4. OÉKvÆÈé\tgEFA: J[lo[WÆ nfs-utils Version 2 Ì NFS Æ Version 3 Ì NFS ÆÌá¢É¢ÄÍÈ~Åྵܷ B¡ÌƱëÍAêpÌ×Èt@CT[oðCXg[·éêÍ NFS Version 3 ªKvÉÈé¾ë¤AÆñĵĨ«Ü·BæèCyÈprÉ Í NFS Version 2 ÅàǢŵå¤B NFS Version 2 ÍA©Èè·gíêĢܷ (ÈÆà 1.2 J[lV [Y©ç) ªAÌ¢¸ê©ðKvÆ·éêÍ 2.2.18 È~ÌÅÌJ[l ªKvÅ·B E Linux Ì NFS ð¼Ì OS Ì NFS Ƭݳ¹½¢ E NFS zµÉM«Ì¢t@CbNðg¢½¢ E NFS Version 3 ðg¢½¢ 2.2.14 È~ÌJ[lÉÍAãLÌ@\ðñ·épb`à¶ÝµÜ·B»ê çÌ¢Â©Í Linux NFS z[y[W©ç_E[hÅ«Ü·B 2.2.14 `2.2.17 ÌJ[lðgÁÄ¢ÄA\[XR[hªè³É éÈçA NFS Version 3 T[oÌT|[gªÝèIvVÉ é©Ç¤©ÅA±êçÌp b`ª½ÁÄ¢é©Ç¤©ð»fÅ«Ü·Bµ©µAâJ[lðg¤ RªÁÉȯêÎA½ÌoOªC³³êÄ¢éí¯Å·©çAAbvO[ hð·é׫ŵå¤B Version 3 Ì@\ðp¢éÉÍAnfs-utils pbP[WÌÈÆào[W 0.1.6 ÆAmount Ìo[W 2.10m È~ªKvÅ·Bµ©µ nfs-utils Æ mount Í®SÉãûÝ·«ðÛÁĢܷµAVµ¢ÅÅͽÌZL eBâoOÌC³ªÈ³êĢܷ©çA NFS ÌÝèðnßéÈçAÅVÌ nfs-utils â mount pbP[WðpµÈ¢èÍȢŵå¤B 2.4 Ì·×ÄÆ»êÈ~ÌJ[lÉÍA NFS Version 3 Ì@\ª·×ÄÜÜ êĢܷB 2.2.18 È~Ì·×ÄÌJ[lÅÍANCAg¤ÅÌ NFS over TCP ðT |[gµÄ¢Ü·B±Ì¶Ì·M_ÅÍAT[o¤Ì NFS over TCP Í 2.2 V[YÌãú (µ©µ 2.4 J[lÅÍܾ) ɵ©¶Ý¹¸AܾÀ ±iKÅAoOརÆvíêÜ·B ãLÌ@\ÌñíɽªJ[lo[W 2.2.18 űü³ê½àÌÅ· ÌÅA±Ì¶Í±Ìo[WÈ~ (2.4.x àÜÝÜ·) ðÎÛɵܷB âJ[lðgÁÄ¢éêÍA±Ì¶Í¨è³Ì NFS VXeð³µ Lqµ½àÌÅÍÈ¢©àµêܹñB ±Ì¶Ì·M_ÅÍANFS version 4 ÍܾvgRÌJiKÈÌÅ A±±ÅÍq×ܹñB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 2.5. wvâæèÚ×ÈîñÌ è© 2000 N 11 ÌiKÅÍALinux NFS z[y[WÍ http:// nfs.sourceforge.net É èÜ·B NFS ÖWÌ[OXgAnfs-utils ÌÅVÅA NFS J[lpb`A»Ì¼ NFS ÖWÌpbP[WÉ¢ÄÍ ±¿çð`FbNµÄ¾³¢B nfs(5), exports(5), mount(8), fstab(5), nfsd(8), lockd(8), statd(8), rquotad(8), mountd(8) ÈÇÌ man y[Wà©Ä¨Æ¢¢Åµå¤B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 3. NFS T[oÌÝè 3.1. T[oÝèÌTª ±±ÅÍT[oÆNCAg̼ûðÝè·é±Æðl¦Ü·BNCA g¾¯ðÝèµÄAN©ÊÌlÌT[o (á¦ÎåÌT[oÈÇ) ÉÂȬ ½¢êÍA Section 4 Éiñž³¢Bµ©µANCAgðÝè·é ½ÑÉAT[oÍ»ÌNCAg©çÌÚ±ð·æ¤ÉC³·éKvª èÜ· (T[oÌÝèªñíÉsÀSÈêð¯Î)B]ÁÄ©ªÅT[oð ÝèµÈ¢êÅàA±ÌZNVÍÇñŨ¢½Ù¤ª¢¢Åµå¤B» ¤·êÎFØÖAÌâèª Á½êÉDZð²×êÎÇ¢©í©éÅµå¤ ©çB T[oÌÝèÍ 2 ÂÌXebv©çÈèÜ·Bܸ NFS ÌÝèt@CðÒ WµAÉ NFS T[rXðÀÛÉN®µÜ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 3.2. Ýèt@CÌÒW NFS T[oÌÝuÉ ½ÁÄÒWµÈ¯êÎÈçÈ¢åvÈÝèt@CÍ 3  èÜ·B /etc/exports, /etc/hosts.allow, /etc/hosts.deny Å·B{ ÌƱëð¾¤ÆAÀÛÉ NFS ð®ì³¹éÉÍ /etc/exports ¾¯ÅÇ¢Ì Å·ªA±ê¾Æ NFS ÍñíÉë¯ÈóÔÌÜÜÉÈèÜ·B³çÉA±êç ÉÁ¦ÄN®XNvgðÒW·éKvà é©àµêܹñB±êÉÂ¢Ä Í Section 3.3.3 ð©Ä¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 3.2.1. /etc/exports ±Ìt@CÉÍGgÌXgª©êĨèAeGgͤL·é{ [ÆA»êªÇÌlɤL³êé©ðLqµÜ·B±Ìt@Cɨ¯ éÝèIvVÌ·×ÄðméÉÍ man y[W (man exports) ð©éKv ª èÜ·ªA±±É éLqÅàåïÌlÌprÉÍ«èéŵå¤B /etc/exports ÌGgÍAȺÌæ¤È`®ÉÈÁĢܷ: directory machine1(option11,option12) machine2(option21,option22) evfÌÓ¡ÍȺÌÊèÅ·: directory ¤L³¹½¢fBNgÅ·B{ [SÌÅàǢŷµA»¤Å ÈÄà©Ü¢Ü¹ñB éfBNgð¤L³¹éÆA»êȺ̷ ×ÄÌfBNgà (¯¶t@CVXeÉ éÀè) ¯lɤL³ êÜ·B machine1 and machine2 »ÌfBNgÉANZX·éNCAg}VÅ·B}VÍ IP AhXÜ½Í DNS AhXÅwèÅ«Ü· (á: machine.company.com Æ© 192.168.0.8)B IP AhXðg¤Ù¤ªæèM«ªÀSÅ· B optionxx e}VÌIvVÌXgÅA»Ì}VªÇÌæ¤ÉANZXÅ« é©ðLqµÜ·BdvÈIvVð¢Â©°Ü·: ro: ±ÌfBNgÍÇÝoµêpŤL³êÜ·BNCAg Í«Þ±ÆÍūܹñB±êªftHgÅ·B rw: NCAg}VÍÇÝoµÆ«Ý¼ûÌANZXð±Ì fBNgÉs¢Ü·B no_root_squash: ftHgÅÍA root [UÉæét@Cv ÍA·×ÄT[oãÅÍ nobody [UÉæÁÄȳê½àÌÆµÄ µíêÜ·B (³mɾ¤ÆAvÌ UID Ì}bvæÍT[oɨ¯ é[U "nobody" Ì UID É˶µÜ·BNCAgÌàÌÅÍ èܹñB) no_root_squash ðIÔÆANCAg}VÌ root ÍAT[oVXeÅà root ƵÄ̯¶xÌANZXðT[ oÌt@CÉs¤±ÆÉÈèÜ·B±êÍZL eBɽåÈe ¿ðyÚ·Â\«ª èÜ·ªANCAgÅs¤ÇìÆÉGN X|[g³ê½fBNgðÜß½¢æ¤ÈêÉÍA±êªKv ÉÈéŵå¤BKØÈRªÈ¯êÎA±ÌIvVÍwè·× «ÅÍ èܹñB no_subtree_check: { [Ì꾯ðGNX|[g·éêA subtree checking ÆÄÎêé[`ªANCAg©çv³ê ½t@Cª»Ì{ [ÌKØÈêÉ é©Ç¤©ð²×Ü· B{ [SÌðGNX|[g·éêÍA±Ì`FbNð³øÉ µÄ¨Æ]ª¬ÉÈèÜ·B sync: ftHgÅÍA Version 2 Ì NFS T[oÍAT[oÅÌt @CVXeÖ̫ݪIíéÆANCAg}VÉ t@C«ÝªI¹µ½|ðmç¹Ü·Bµ©µ±ÌêAt@ CVXeÍfBXNÉ sync µÄ¢ÈÄàæA³çÉÍN CAgª sync() R[ðsµÄà±ÌîÍÏíèܹñB] ÁÄftHgÌ®ìÅÍAT[oªÄN®·éÆt@Cªóêé ©àµêܹñB±ÌIvVð¯éÆANFS ª«Ýìð ®¹·é½ÑÉAfBXNÖÌ sync ª§IÉsíêÜ·B±¤· éÆ«ÝÌÔª©ÈèxÈèÜ·ªAµ©µ NFS Version 2 ðM«ðKvÆ·é«Åp¢éêÉÍKvÆÈé±Æà éÅ µå¤BVersion 3 Ì NFS ÉÍ commit ìª èA±êðNCA g¤Åp¢êÎAT[o¤ÅÀÛÉfBXN sync ðsí¹é±Æ ªÅ«Ü·B ¢Ü 2 äÌNCAg}VA slave1 Æ slave2 ª èA»ê¼êÌ IP AhXÍ»ê¼ê 192.168.0.1 Æ 192.168.0.2 Å éƵܵå¤B±ê çÌ}VÉA©ª½¿ÅìÁ½\tgEFAoCiÌfBNgÆAz [fBNgð¤L³¹½¢ÆµÜ·B±Ìæ¤ÈêÌ /etc/exports ÍÌæ¤ÉÈéŵå¤: ¡¢ /usr/local 192.168.0.1(ro) 192.168.0.2(ro) /home 192.168.0.1(rw) 192.168.0.2(rw) ¤£ ±±ÅÍ /usr/local ̤LÍ slave1 slave2 ÆàÉÇÝoµêpÆµÄ¢Ü ·B±±ÉÍ©ª½¿ÅJµ½\tgEFAªüéÌÅA slave1 â slave2 É«Ý Àð^¦é±ÆÉA»êªà½ç·ZL eBãÌXNðz ¦ébgÍȢŵ天çBêûz[fBNgÍA»±É[U ªìÆðZ[u·éÌÅ êÎAÇÝ«Â\ÅGNX|[gµÈ¯êÎÈè ܹñB àµå«ÈVXeðgÁÄ¢éêÉÍA½³ñÌRs [^ª¯¶ [Jlbg[NÉÂȪÁÄ¢ÄA»êç·×Ä©çT[oÖÌANZX ðsí¹½¢©àµêܹñB½Ì}VÖÌQÆðÈPÉs¤ÉÍA¢ ©Ìû@ª èÜ·BÅÌàÌÍAlbg[NÆlbg}XNðp¢Ä AANZXð·}VÌÍÍðwè·éû@Å·Bá¦Î 192.168.0.0 ©ç 192.168.0.255 É é·×ÄÌ}VÉANZXð·ÉÍAÌæ¤ÈG gðpӵܷ: ¡¢ /usr/local 192.168.0.0/255.255.255.0(ro) /home 192.168.0.0/255.255.255.0(rw) ¤£ lbg}XNÌÚµ¢®ì´É¢ÄÍ Networking-Overview HOWTO <http: //www.linuxdoc.org/HOWTO/Networking-Overview-HOWTO.html> (JF Éæéú{ êó <http://www.linux.or.jp/JF/JFdocs/Networking-Overview-HOWTO.html>) ð©Ä¾³¢Bܽ init ¨æÑ hosts.allow Ìe man y[Wà©Ä¨ Æ¢¢Åµå¤B ñÔÚÌû@ÍAGgÉ NIS ÌlbgO[vðp¢éâèûÅ·B exports t@CÉlbgO[vðwè·éÉÍAlbgO[v¼ÌOÉ "@" ð¯êÎÇ¢¾¯Å·BlbgO[vÌÚµ¢®ì´É¢ÄÍ NIS HOWTO <http://www.linuxdoc.org/HOWTO/NIS-HOWTO.html> (JF Éæéú{ êó <http://www.linux.or.jp/JF/JFdocs/NIS-HOWTO.html>) ð©Ä¾³¢ B OÔÚÌû@ÍAzXg¼ÌãíèÉ *.foo.com â 192.168. Ìæ¤ÈC hJ[hðg¤û@Å·B µ©µ±êçÌP»ðs¤ÆAlbgO[vâ[Jlbg[NÉ é·×ÄÌ}Vð®SÉÍMūĢȢêÉÍAZL eBãÌ XNªÁíé±ÆÉÈèÜ·B GNX|[gÅ«È¢ ( é¢Í·×«ÅÈ¢) àeÉ¢ÄA¢Â©Ô ÉӵĨ«Ü·BܸæêÉA éfBNgðGNX|[g·éÆA »ÌefBNgÆqfBNgÍ (¯¶t@CVXeÉ éêÍ) GNX|[gūܹñBµ©µ±êçðGNX|[g·éKvÍȢ͸Š·BȺÈçefBNgð /etc/exports É©¯ÎA¯¶t@CVXe É é»êȺÌfBNgÍ·×ÄGNX|[g³êé©çÅ·B æñÉAFAT â VFAT t@CVXe (MS-DOS â Windows 95/98 ÌÌæ) ð NFS ÅGNX|[g·éÌÍæ¢l¦ÅÍ èܹñB FAT Í}`[ UÌ}VÅp·é±Æðl¶³êĢܹñ©çA ÀÆ¢¤TOÉîà ¢½ìªs¦Ü¹ñB³çÉA±êçÌt@CVXe̺wVXeÍ AÝvãÌR©ç NFS ÌúÒÊèÉÍ®ìµÈ¢Æàñ³êĢܷB æOÉAfoCXt@CâÁêt@CÍA Linux ÈOÌNCAgÉÍ ³µGNX|[g³êÈ¢±Æª èÜ·Be OS »ê¼êÉÖ·éÚ×Í Section 8 ð©Ä¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 3.2.2. /etc/hosts.allow Æ /etc/hosts.deny ±êç 2 ÂÌt@CÍAlbg[NãÌÇÌRs [^ª ȽÌ}V ÌT[rXðpÅ«é©wè·éàÌÅ·B±Ìt@CÌesÍAT[ rXÆ}VÌêðXgµ½GgÉÈÁĢܷBT[oª é}V ©çvðó¯éÆAT[oÍÌæ¤É®ìµÜ·: E T[oÍܸ hosts.allow ð²×ÄA»Ì}Vªt@CÌLqÉ} b`·é©ð©Ü·B}b`µ½êÍA»Ì}V©çÌANZXð µÜ·B E »Ì}Vª hosts.allow ÌGgÉ}b`µÈ¢Æ«ÍAT[oÍ É hosts.deny ð²×A»ÌNCAgª±Ìt@CÌXgÉ} b`·é©ð©Ü·B}b`µ½çA»Ì}VÌANZXÍÛ³êÜ ·B E »ÌNCAgªÇ¿çÌt@CÌXgÉà}b`µÈ¯êÎAA NZXͳêÜ·B ±Ìt@CÉæéANZX§äÍA inetd ŵíêéT[rX (telnet â FTP ÈÇ) ¾¯ÅÈA NFS ÉàKpÅ«Ü·B NFS T[rXðñ·éf [ÖÌÚ±ð§ÀÅ«éÌÅ·B§ÀÍT[rX²ÆÉs¦Ü·B ANZXð§À·×«ÅÌf[Í|[g}bp (portmapper) Å·B± Ìf[ÌdÍAî{IÉÍvðæ±µ½NCAgÉAVXeã ÌlXÈ NFS T[rXÖÌÚ±æð`¦é±Æ¾¯Å·B|[g}bpÖÌA NZX§ÀÍA NFS oRÅVXeÖNüµæ¤Æ·éÒÉηéÅKÈhä ÆÈèÜ·BȺÈçSFسêĢȢNCAgÍAÇ±É NFS f[ ª¢é©ðmé·×ªÈ¢©çÅ·Bµ©µ±±Å 2 ÂÌ_ÉCðÂ¯È ¯êÎÈèܹñBêÂÚÍA|[g}bpð§À·é¾¯ÅÍ\ªÅÍÈ¢ Æ¢¤±ÆÅ·BNüÒÍÈñç©ÌRÅA±êçÌf[ÖÌÚ±æð mÁÄ¢é©àµêܹñBñÂÚÍANIS 𮩵ĢéêÉÍA|[g }bpð§À·éÆ NIS ÖÌvà§À³êéÆ¢¤±ÆÅ·BÊíÍ NFS à NIS à¯lɧÀµ½¢Åµå¤©çA±êªâèÉÈé±ÆÍȢŵ 太Aµ©µCÉͯßĨ¢Ä¾³¢B (NFS ð®ì³¹éÈçA NIS à¢Áµåɮ쳹éÆǢŵå¤BNCAg}VÉÍAGNX| [g³ê½{ [É ét@CÌLÒðméû@ªKv¾©çÅ·B à¿ëñpX[ht@Cð¯ú³¹éû@ͼÉà èÜ·ªB NIS ÌÝ èÉ¢ÄÍ NIS HOWTO <http://www.linuxdoc.org/HOWTO/NIS-HOWTO.html> (JF Éæéú{êó <http://www.linux.or.jp/JF/JFdocs/NIS-HOWTO.html>) ð©Ä¾³¢B êÊÉÍANFS (ðÜßÙÆñÇÌC^[lbgT[rX) ÖÌANZXÍA ·éKvÌÈ¢zXgÉεÄ;¦IÉÛµÄ¨ÌªÇ¢Åµå¤ B ±¤·éÉÍAܸÌæ¤ÈGgð /etc/hosts.deny ÉÇÁµÜ·: ¡¢ portmap:ALL ¤£ nfs-utils 0.2.0 ©çÍA»ê¼êÌf[ÌANZX§äàs¤±ÆªÅ «AæèVXeðÅÉÅ«Ü·BNüÒÍ|[g}bpðñðÅ«é±Æ རÌÅA±ÌpSðµÄ¨ÌÍæ¢l¦Åµå¤BÅßÌÅÌ nfs-utils ðp¢Ä¢éÌÈçANFS f[»ê¼êÉ¢ÄGgðê s¸ÂÇÁµÄ¨«Üµå¤ (±êçÌf[ª»ê¼ê½Å é©ÍÌ ßð©Ä¾³¢B¢ÜÍPɱêçÌGgð hosts.deny ÉÁ¦Ä¾ ³¢): ¡¢ lockd:ALL mountd:ALL rquotad:ALL statd:ALL ¤£ âÅÌ nfs-utils ðgÁÄ¢éêÅàAÈÆà±êçÌGgðÇ ÁµÄâèªN«é±ÆÍ èܹñ (Pɳ³êÜ·)B»µÄAbvO [hµ½Æ«ÉAVXeðgu©ç~ÁÄêé©àµêÈ¢í¯Å· B /etc/hosts.deny t@CÉ ALL:ALL Æ¢¤GgðÇÁ·éûðIÔ VXeÇÒà¢Ü·B±¤·éÆA±êçÌt@CðQÆ·é·×ÄÌ T[rXÍA¾¦Iɳê½zXgÈO©çÌANZXð·×ÄÛµÜ ·B±êÍæèÀSÈ®ìÅ·ªAVµ¢T[rXðCXg[µ½ÛÉg uÌ´öÆÈé©àµêܹñB±ÌGgðu¢½±ÆðYêÄ¢é ÆAȺVµ¢T[rXª®©È¢Ì©A궩©ÁÄàí©çÈÈé©à µêܹñB ÉGgð hosts.allow ÉÇÁµAANZXð·ézXgðwèµÜ ·B (ãLÌæ¤É hosts.deny ÉÇÁµ½¾¯¾ÆANà NFS ÉANZXÅ «Ü¹ñB) hosts.allow ÌGgÍÌæ¤È`®Å·: ¡¢ service: host [or network/netmask] , host [or network/netmask] ¤£ ±±Å host ÍNCAgÉÈêézXgÌ IP AhXÅ·BzXgÌ DNS ¼ðpÅ«éVXeà èÜ·ªA DNS ¼ÌpÍð¯é椨 ··ßµÜ·B ÈOÉsÁ½æ¤ÈÝèÅA slave1.foo.com Æ slave2.foo.com ÉANZX ðµ½¢êðl¦Üµå¤B±êçÌ}VÌ IP AhXð»ê¼ê 192.168.0.1 Æ 192.168.0.2 ƵܷB±ÌêÍÌæ¤ÈGgð / etc/hosts.allow ÉÇÁµÜ·: ¡¢ portmap: 192.168.0.1 , 192.168.0.2 ¤£ ÅßÌÅÌ nfs-utils ÅÍAÌàeàÇÁµÜµå¤ (¯¶T|[g³ê Ä¢ÈÄà³QÅ·): ¡¢ lockd: 192.168.0.1 , 192.168.0.2 rquotad: 192.168.0.1 , 192.168.0.2 mountd: 192.168.0.1 , 192.168.0.2 statd: 192.168.0.1 , 192.168.0.2 ¤£ NFS ð[JÈlbg[NÉÂȪÁ½½Ì}VÉεĮ쳹é êÍA /etc/hosts.allow Éàulbg[N/lbg}XNv`®ÌGg ðwè·é±ÆàÅ«Ü·BâèûÍæÉ /etc/exports ̪Åྵ½ ÌƯ¶Å·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 3.3. T[rXðJn·é 3.3.1. OÌõ ±êÅ NFS T[oÌÝèªÅ«Üµ½ÌÅA®ì³¹ÄÝܵå¤BܸAK ØÈpbP[WðCXg[µÜµå¤Bv·éÉ\ªVµ¢J[lÆA \ªVµ¢ÅÌ nfs-utils pbP[WÅ·B檩çȯêÎ Section 2.4 ð©Üµå¤B ±¢ÄANFS ðJn·éOÉATCP/IP lbg[NÌ@\ª»Ì}Vųµ ®ìµÄ¢é©mFµÜµå¤B telnet, FTP ÈǪg¦êÎA¨»ç TCP lbg[NÍ¿áñÆ®¢Ä¢éÆv¢Ü·B ¶ÂÍAÅßÌ Linux fBXgr [VÌÙÆñÇÅÍA NFS ðN® µÄ®ì³¹éÉÍA}Vðu[g·é¾¯Å·ÝÜ·B±¤·éÆN® XNvgÍA Ƚª /etc/exports ÉεÄsÁ½ÝèðmµÄANFS ð³µN®µÄêÜ·B±¿çðµÄÝéÈçASection 3.4 ðÇñÅ A NFS ª®ìµÄ¢é©Ç¤©²×ľ³¢B¤Üs©È©Á½êâA }Vðu[gÅ«È¢êÉÍAÌßðÇßÎ NFS T[rXÉKvÈf [ªÇê©í©èÜ·BÈñç©ÌRÅAæÉÝèt@CðÒWµÄ ¢½_Å nfsd ª®ìµÄ¢½êÍAsÁ½Ýèð½f³¹éKvª è Ü·B±êðs¤ÉÍ Section 3.5 ð©Ä¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 3.3.2. |[g}bpðN®·é NFS Í|[g}bpf[É˶µÄ¢Ü·B¼OÍ portmap © rpc.portmap ÌÇ¿ç©Å·B±êÍÅÉN®µÈ¯êÎÈèܹñB¨» çu«êÍ /sbin ŵ太A /usr/sbin Ìêà é©àµêܹñ BÅßÌ Linux fBXgr [VÌÙÆñÇÍA±Ìf[ðu[g XNvg©çN®µÜ·ªA NFS ÉÖ·éìÆðnßéOÉÍAÀÛÉ®ì µÄ¢é©ðm©ßĨÆÇ¢Åµå¤ (ps aux | grep portmap ÆüÍ· 龯ŷ)B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 3.3.3. »ê¼êÌf[ NFS ÌT[rXÍA5 ÂÌf[ÉæÁijêÜ·: rpc.nfsd ÍìÆÌ åªðs¢Ü·B rpc.lockd Æ rpc.statd Ít@CbLOðµ¢Ü ·B rpc.mountd ÍÅÌ}Egvðµ¢Ü·B rpc.quotad ÍGNX| [g³ê½{ [ɨ¯é[Ut@CNH[^ðµ¢Ü·B 2.2.18 È~ÅÍAlockd Í nfsd ©çKvɶÄÄÑo³êÜ·ÌÅAè®ÅN® ·éKvÍ èܹñBstatd ÍÊÉN®µÄ¨Kvª èÜ·BÅßÌ Linux fBXgr [VÌÙÆñÇÉÍA±êçÌf[ÌN®XN vgª é͸ŷB ±êçÌf[Í·×Ä nfs-utils pbP[WÉüÁĨèA /sbin ܽ Í /usr/sbin Ì¢¸ê©ÌfBNgÉ éÆv¢Ü·B gÁÄ¢éfBXgr [VÌN®XNvgɱêçªÈ¢êÍA ÌÉN®·éæ¤ÝèðÇÁµÈ¯êÎÈèܹñ: rpc.portmap rpc.mountd, rpc.nfsd rpc.statd, rpc.lockd (KvÈç), rpc.rquotad nfs-utils pbP[WÉÍARedHat Æ Debian ü¯ÌN®XNvgÌáªü ÁĢܷB±êçÈOÌfBXgr [VðgÁÄ¢éêÅàAå ïÍ RedHat ÌXNvgðRs[·êηÞÆv¢Ü·ªA ¡¢ . ../init.d/functions ¤£ Æ¢¤sðíµÈ¢ÆG[bZ[Wª\¦³êé©àµêܹñB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 3.4. NFS ª®ìµÄ¢é©mF·é ±êðs¤ÉÍA rpcinfo -p R}hðp¢Ä|[g}bpÉâ¢í¹A ÇñÈT[rXªñ³êÄ¢é©ð²×Ü·BÌæ¤Èoͪ¾çêéÍ ¸Å·B ¡¢ program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100011 1 udp 749 rquotad 100011 2 udp 749 rquotad 100005 1 udp 759 mountd 100005 1 tcp 761 mountd 100005 2 udp 764 mountd 100005 2 tcp 766 mountd 100005 3 udp 769 mountd 100005 3 tcp 771 mountd 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 300019 1 tcp 830 amd 300019 1 udp 831 amd 100024 1 udp 944 status 100024 1 tcp 946 status 100021 1 udp 1042 nlockmgr 100021 3 udp 1042 nlockmgr 100021 4 udp 1042 nlockmgr 100021 1 tcp 1629 nlockmgr 100021 3 tcp 1629 nlockmgr 100021 4 tcp 1629 nlockmgr ¤£ ±±ÅÍ NFS version 2 Æ 3Arpc.statd version 1A network lock manager (rpc.lockd ÌT[rX¼) version 1, 3, 4 ª èÜ·Bܽ NFS ª TCP ð g¤© UDP ðg¤©ÉæÁÄAÊXÌT[rXƵÄXg³êĢܷB Linux VXeÍAÁÉ TCP ðg¤×wè³êÈ¢ÀèA UDP ðftH gÅp¢Ü·Bµ©µ Solaris Ìæ¤È¼Ì OS ÅÍAftHgÍ TCP É ÈÁĢܷB ൠ"portmapper" ÌsA"nfs" ÌsA"mountd" ÌsÌÇꩪȯêÎAß ÁÄf[ðN®µÈ¨·Kvª èÜ· (ൻêÅனȯêÎA Section 7 guV [gð©Ä¾³¢)B ±êçÌT[rXª\¦³êÄ¢½çANFS NCAgðpÓµÄAT[o Ìt@CÉANZX³¹é½ßÌõª®Á½±ÆÉÈèÜ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 3.5. ÆÅ /etc/exports ðÏX·é OÌiKÉßÁÄA /etc/exports t@CðÏXµ½êA»ÌÏXÍ·® Éͽf³êܹñBnfsd É /etc/exports t@CðÇݼµ³¹éÉÍA exportfs -ra R}hðÀsµÈ¯êÎÈèܹñB@exportfs R}hª ©Â©çÈ¢êÍA -HUP tOðwèµÄ nfsd ð kill µÜ· (Ú×Í kill Ì man y[Wð©Ä¾³¢)B ±êÅà¤Ü¢©È¢êÍA hosts.allow ð²×AVµ¢NCAg} VÌXgðYêĢȢ©mFµÄ¾³¢Bܽt@CAEH[ðÝ èµÄ¢éêÍA»ÌzXgXgà`FbNµÄ¾³¢ (t@CAEH [Æ NFS ÌÖWÉ¢ÄÍ Section 7 ð©Ä¾³¢)B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 4. NFS NCAgÌÝè 4.1. [gÌfBNgð}Eg·é ìÆðͶßéOÉAè³Ì mount vOª\ªÉVµ¢©à¤êx`F bNµÄ¾³¢ (Version 3 NFS ðg¢½¯êÎ 2.10m ªKvÅ·)Bܽ NCAg}Vª nfs }EgðT|[gµÄ¢é©àmFµÄ¨«Üµ å¤ (åïÌfBXgr [VÅÍ»¤ÈÁÄ¢éŵ太)B 2.2 È~ÌJ[lÅ /proc t@CVXeªõ³êÄ¢éêÍA/proc/ filesystems ðÇñÅAnfs Æ©ê½sª é©ð©Äº³¢BÈ¢êÍ ANFS T|[gðgÝñ¾J[lðrh ( é¢Í_E[h) ·é Kvª èÜ·B }Vð NFS NCAgÉ·éÉÍA»Ì}VÅ|[g}bp𮩷K vª èÜ·Bܽ NFS t@CbLOðg¤ÉÍA rpc.statd Æ rpc.lockd ÆðANCAgÆT[o̼ûÅ®©·Kvª èÜ·BÅß ÌfBXgr [VÌÙÆñÇÅÍAftHgűêçÌT[rXð u[gÉN®·éæ¤ÉÈÁĢܷB»¤ÈÁĢȢêÉÍA Section 3.2 ð©ÄN®û@ð²×ľ³¢B |[g}bpAlockdAstatd ª®¢½çAT[oÌ[gfBNgð ([JÌn[hhCuƯ¶æ¤É) mount R}hðgÁÄ}EgÅ «é͸ŷBOß©çÌáðg¢±¯é±Æɵܵå¤: T[oÍ master.foo.comA»µÄ±ÌT[oÌ /home fBNgð slave1.foo.com ©ç}Egµ½¢ÆµÜ·B±ÌêâçȯêÎÈçÈ¢ÌÍA slave1.foo.com Ì root Ìvvg©çÌæ¤Éüͷ龯ŷB ¡¢ # mount master.foo.com:/home /mnt/home ¤£ ±êÅ master Ì /home ª slave1 Ì /mnt/home Ƶĩ¦é͸ŷB ±êª¤Ü¢©È¢êÍAguV [gÌÍ (Section 7) ð©Ä¾ ³¢B t@CVXeðæèO·Ìà[JÌt@CVXeÌêÆS¯ ¶ÅA ¡¢ # umount /mnt/home ¤£ ÆüÍ·êÎ OK Å·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 4.2. NFS t@CVXeðu[gÉ}Eg³¹é [Jt@CVXeƯ¶æ¤ÉA NFS t@CVXeàN®É} EgÅ«Ü·B¯lÉ /etc/fstab ÉÇÁ·ê΢¢ÌÅ·Bá¤ÌÍAt @CVXeÌ^Cvð nfs ɵȯêÎÈçÈ¢±ÆÆAdump XCb` Æ fsck V[PXÌwè (GgÌÅãÌ 2 Â) ð 0 ɵȯêÎÈç È¢±ÆAÅ·BæÁÄOqÌäXÌáÈçÎA /etc/fstab ÌGgÍ Ìæ¤ÉÈèÜ·B # device mountpoint fs-type options dump fsckorder ... master.foo.com:/home /mnt nfs rw 0 0 ... ±Ìt@C̮ɵêĢȢlÍAfstab Ì man y[Wð©Ä¾³¢ Bamd â autofs Ìæ¤ÈI[g}E^ðgÁÄ¢élÍA}EgXg ÌηétB[hÉA (S¯¶ÅÍȢɹæ) æ½IvVð wè·é±ÆÉÈèÜ·B ±êÅ NFS ª®ì·éæ¤ÉÈÁ½Í¸Å·ªA¤Ü®ì³¹éÉÍܾ X÷²®ªKvÅ·Bܽ Section 6 àÇñÅA²©ªÌÝèª\ªÀS©Ç ¤©ðmFµÄ¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 4.3. }EgÌIvV 4.3.1. \tg}EgÆn[h}Eg êɯĨÆÇ¢IvVª¢Â© èÜ·B NFS T[oªNb V µ½Æ«âlbg[NªØf³ê½Æ«ÉANCAgªÇ¤Ué ¤©ðwè·éàÌÅ·B±ÌóÔð¸â©Éµ¦é̪ NFS ÌǢƱëÌ êÂÅ·BT[oÌáQÉ ½ÁÄÍñÂÌ[hª èÜ·B soft t@CANZXÌNGXgɸs·éÆANFS NCAgÍ»Ìt @CANZXðvµ½vZXÉG[ðÊmµÜ·B±ÌG[ð ³µµ¦évOà èÜ·ªAÙÆñÇÍ_Å·B±ÌÝèÍ uj¹t@CÆXgf[^Ììèûvݽ¢ÈàÌÅA¨©ßÅ«Ü ¹ñBÁÉ[ÌfBXNÉÍg¤×«ÅÍ èܹñ -- [É¿ lðFßÄ¢éÈçÎB hard NFS }Eg³ê½t@CVXeãÌt@CÉANZXµÄ¢év OÍAT[oªNbV ·éÆÔçèñÉÈèÜ·B±êçÌ vZXÍ intr ðêÉwèµÄ¢È¢êÍAf·é±Æà kill ·é±ÆàÅ«ÈÈèÜ· ("sure kill" ðg¦ÎÊ)B NFS T[oª ·éÆAvOÍ»ê¼ê½àÈ©Á½©Ìæ¤ÉÄJµÜ·B ¨»ç±¿çª]ܵ¢êª½¢Åµå¤BäXÍASÄÌ NFS }E gÉ hard,intr ðp¢é±Æð¨©ßµÜ·B ãLÌá©çÌêÎAfstab ÌGgÍÌæ¤ÉÈéŵå¤: # device mountpoint fs-type options dump fsckord ... master.foo.com:/home /mnt/home nfs rw,hard,intr 0 0 ... ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 4.3.2. ubNTCYðÝèµÄ]¬xðÅK»·é }EgIvVÌ rsize Æ wsize ÍANCAgÆT[oªf[^ð âèÆè·éÆ«ÌAf[^Ì]PÊðwè·éàÌÅ·B ftHgÌlÍå«·¬/¬³·¬©àµêܹñBSÄÌA é¢ÍåïÌ ÝèÉLøÈTCYAÆ¢¤àÌÍ èܹñBá¦Î Linux J[lÆlb g[NJ[hÌgÝí¹ÉæÁÄÍ (ÙÆñÇÍâ}VÅÌb)A Ü èå«ÈubN͵¦Ü¹ñBêûå«ÈubNªµ¦êÎAå«ÈTC YÌ]ͬÉÈèÜ·B ubNTCYðÅKlÉ·éìÆÍANFS Ì«\ÌdvÈvfÅ·B NFS ð »ê̵µ¢Â«Åg¤êÉÍK{¾Æ¾¦éŵå¤BÚ×Í Section 5 ð©Ä¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 5. NFS Ì«\ðÅK»·é lbg[NÝèð³µ·éÆA NFS Ì«\ͽ{àüã·é±Æª èÜ · (]¬x 10 {AÆ¢¤Ìà·¢½±Æª èÜ·)B»Ì¤¿ÅàdvÈ ÌÍA mount Ì rsize IvVÆ wsize IvVÅ·BÈ~ɦ·¼Ì vfàAÁèÌn[hEFAðgÁÄ¢élÉÍøʪ é©àµêܹñB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 5.1. ubNTCYÝèÅ]¬xðÅK»·é mount Ì rsize IvVÆ wsize IvVÍANCAgÆT[oª f[^ðâèÆè·éÆ«Ìf[^Ì]PÊðwè·éàÌÅ·B»ê¼ê ÌIvVªwè³êȢƫÌftHglÍAgÁÄ¢é NFS Ìo[W ÉæÁÄÙÈèÜ·BÙÆñÇÌêÌftHgÍ 4096 oCgÅ·ª A 2.2 J[lɨ¯é TCP x[XÅÌ}EgâA 2.4 J[lÈ~ÅÌ çäé}EgÅÍAT[oªftHgÌubNTCYðwèµÜ·B ftHgÌlÍå«·¬/¬³·¬©àµêܹñBSÄÌA é¢ÍåïÌ ÝèÉLøÈTCYAÆ¢¤àÌÍ èܹñBá¦Î Linux J[lÆlb g[NJ[hÌgÝí¹ÉæÁÄÍ (ÙÆñÇÍâ}VÅÌb)A Ü èå«ÈubN͵¦Ü¹ñBêûå«ÈubNªµ¦êÎAå«ÈTC YÌ]ͬÉÈèÜ·B »±Å±±ÅÍAÀ±ðsÁÄAŬÉÈéæ¤È rsize â wsize ðè· éâèûðq×é±ÆɵܷB éÝèɵ½Æ«Ì]¬xÍA¢Â© ÌÈPÈR}hŲ×çêÜ·B ÅÉÀs·×«R}hÍA16k ÌubN 16384 ÂðAÁêt@C / dev/zero (ÇÝÞÆ 0 ðuñíÉv¬Éf«oµÄ«Ü·) ©ç}Eg µ½p[eBVÉ]·éàÌÅ·BÇÌç¢Ôª©©é©ð time Ūèܵå¤BæÁÄANCAg}V©çÌæ¤Éü͵ܷB ¡¢ # time dd if=/dev/zero of=/mnt/home/testfile bs=16k count=16384 ¤£ ±¤·éÆ (oCgf[^Ì) 0 Åß³ê½A嫳ª 256Mb Ìt@C ªÅ«Ü·BêÊÉÍAT[oÉÏñÅ é RAM ÌTCYÌÈÆà 2 {Ì嫳Ìt@Cðìé׫ŷB (½¾µfBXNÉó«ª é©Am FðYêÈ¢±Æ!)BÉ»Ìt@CðANCAgÌubNz[ (/ dev/null) ÉÇÝoµÜ·BÌæ¤Éü͵ľ³¢B ¡¢ # time dd if=/mnt/home/testfile of=/dev/null bs=16k ¤£ ±êð½ñ©JèÔµÄA©©Á½Ôð½ÏµÄ¾³¢BÎÛÌt@C VXeðñA}Eg¨Ä}EgµÄ (NCAgÆA±¾íéû ÍT[oÅà)ALbV ÌøÊð·×ÄNA·éÌðYê¸ÉB IíÁ½çA}EgµAubNTCYð嫵½è¬³µ½èµÄ à¤êx}EgµÄ¾³¢B NFS version 2 ÌÅåTCYÍ 8192 oCg ÈÌÅA±êæèà嫵Ȣ٤ªÇ¢Åµå¤ (µ©µ Version 3 Èç 32768 ÜŵÄÝܵå¤)BlÍ 2 ÌpæÅϦé̪«¢Æv¢Ü·B ]ÉÖA·ép[^ (t@CÌVXeubNTCYâlbg[ NÌpPbgTCYÈÇ) àA½¢Ä¢Í 2 {¸ÂÏíé©çÅ·B½¾µA ubNTCYð 2 ÌpæÈOÌlɵÄAæèÇ¢Êð¾½[Uà¢Ü ·Bµ©µ»ÌêÅàAVXeÌubNTCYâlbg[NpPbg TCYÌ®{ÉÍÈÁĢܵ½B å«ÈTCYÅ}Egµ½çA»Ìt@CVXeÉ cd µAls ·éÈÇ µÄAt@CVXeÌ¡ª³µ©¦é©²×ÄÝĺ³¢B rsize â wsize ªå«ß¬éÆAÈóª»íêAt@CÌM«ª 100% ÅÈ ÈèÜ·Bæ éáƵÄÍuls µÄà·×Ī\¦³êÈ¢AG[b Z[WàoÈ¢vÆ©uG[bZ[WÍoÈ¢ÌÉt@CÌÇÝÝÉ Èº©¸s·évÈǪ èÜ·B³ÄA^¦½ rsize/wsize ÅVXeª³ µ®ìµÄ¢é±Æªí©Á½çAà¤êx¬xÌeXgðµÄÝÜµå¤ BT[oÌ OS ªá¤ÆÅKÈTCYàÙÈéꪽ¢Å·B]»ÉæéÆ A SunOS â Solaris ÌêÍ 4096 ª¼Éä×ĸÁƬ©Á½è·é»¤ Å·B ÅãÉ /etc/fstab ðÒWµÄAÜÁ½ rsize/wsize Ìlð½f³¹éÌð YêÈ¢æ¤ÉB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 5.2. pPbgTCYÆlbg[NhCo Linux ÉÍ ÜèoÌæÈ¢lbg[NhCo[ª (ärIL¼ÈJ [hÌàÌàÜßÄ) ½¶ÝµÜ·B 2 äÌ}VÌÔÅ ping ðâèæèµÄÝܵå¤B»ÌÛ ping Ì -f I vVÆ -s IvVðp¢Ä (Ú×Í man ping ð©Ä¾³¢) å« ÈpPbgðg¢ApPbgXªN«Ä¢È¢©AvCÉÔª©©Á ĢȢ©ð©ÄÝܵå¤B±Ìæ¤ÈáQªN«Ä¢éêÍAlbg [NJ[hÌ«\Éâèª é©ÆvíêÜ·B ±Ìæ¤ÈâèðC³·éÉÍAlbg[NJ[hÌp¢Ä¢épPbgT CYðÄÝè·éÆ¢¢Åµå¤B 2 äÌ}VÌÔÅâèæèÅ«épPb gTCYÌÅålÍAÙÆñÇÌêlbg[NÌDZ© (á¦Î[^) ɨ¢ÄAlbg[NJ[hÌàÌæ謳ÈlɧÀ³êĢܷB TCP ÅÍlbg[NÉεÄKØÈpPbgTCYð©®Iɩ¯éæ¤ÉÈ ÁĢܷªA UDP ÅÍPÉftHgÌlðg¤¾¯Å·B]ÁÄAÁÉ UDP ãÅ NFS ðgÁÄ¢éêÉÍAKØÈpPbgTCYðßé±ÆÍñ íÉdvÅ·B lbg[NpPbgTCYÌeXgÍA tracepath R}hÉæÁÄs¦Ü ·BNCAg}V©çAPÉ tracepath [server] 2049 ÆüÍ·êÎA ê# path MTU ª\¦³êÜ·BÉ ifconfig Ì MTU IvVðgÁ ÄAlbg[NJ[hÌ MTU ð path MTU ÌlƯ¶ÉµÜ·B»µÄpP bg¿ªÈÈé©mFµÄ¾³¢B MTU ÌÄÝèû@ÌÚ×Í ifconfig Ì man y[Wð©Ä¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 5.3. NFSD ÌCX^XÌ Linux Åà¼Ì OS ÅàAÙÆñÇÌN®XNvgÅÍA nfsd ÌCX^ Xð 8 ÂN®µÜ·B NFS ÌÅ̱ëÉ Sun ͱÌlðo±¥©çß A»ÌãÍÝñȱÌlðRs[µÄ¢éÌÅ·BÇÌç¢ÌvZXª ÅK©ðßéÇ¢îÍ èܹñªAgtBbNÌå«¢T[oÅÍæ èå«ÈlÉ·é̪Ǣŵå¤B 2.4 È~ÌJ[lðgÁÄ¢élÍA e nfs XbhªÇÌç¢gíêÄ¢é©ð /proc/net/rpc/nfsd Å©ÄÝ éÆ¢¢Åµå¤B±Ìt@CÌ th sÌÅãÌ 10 ÂÌÍA»ÌX bhªAèÄÂ\ÈÅålÌA»Ìp[Ze[WÌóÔÉ Á½b𠦵ĢܷBÅÌ 3 ÂÌlªå«¢Æ«ÍA nfsd ÌCX^Xðâ ·Ù¤ªÇ¢Åµå¤B±êðs¤ÉÍA nfsd ðN®·éÆ«ÌR}h CIvVÅCX^XÌð^¦Ü·BÚ×Í nfsd Ì man y[Wð ©Ä¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 5.4. üÍL [̧À 2.2 Æ 2.4 ÌJ[lÅÍA\PbgÌüÍL [ (ÌvªÒÂƱ ë) ÌftHgÌ嫳ͬ³A 64k Éܹ߬ñBÂÜèAnfsd ÌC X^Xð 8 Âç¹Ä¢éÆ·êÎAeXÉÍÎÛÌvðÛ¶·é êª 8k ¸Âµ©È¢±ÆÉÈèÜ·B nfsd ÉεÄÍA±ÌTCYðÈÆà 256k ÉÜÅâ·±Æðl¦é× «Å·B±ÌãÀlÍ proc t@CVXeÌ /proc/sys/net/core/ rmem_default Æ /proc/sys/net/core/rmem_max ðp¢ÄÝèµÜ·BÁ³ ¹éÉÍ 3 ÂÌXebvð¥ÝÜ·BÈ~ɦ·û@Í¿åÁÆ çÁۢŠ·ªA¿áñÆ®ìµÜ·µAâèðN±·±ÆàȢ͸ŷB a. ±êçÌt@CÉ©êÄ¢éTCYðÁµÜ·: echo 262144 > /proc/sys/net/core/rmem_default echo 262144 > /proc/sys/net/core/rmem_max b. nfsd ðÄN®µÜ·Bá¦Î RedHat Èç /etc/rc.d/init.d/nfsd restart Æü͵ܷB c. TCYÌãÀlðÊíÌlÉßµA¼ÌJ[lVXeͱ¿çðg¤ æ¤ÉµÜ·B echo 65536 > /proc/sys/net/core/rmem_default echo 65536 > /proc/sys/net/core/rmem_max ±ÌÅãÌXebvðYêÈ¢æ¤ÉB±Ìlð·¢Ï¦½ÜÜÉµÄ ¨ÆA}VªNbV ·éÆ¢¤|[gàó¯Ä¢Ü·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 5.5. tOg³ê½pPbgÌI[o[t[ NFS vgRÍtOg»³ê½ UDP pPbgðp¢Ü·BJ[lÉ ÍAs®SÈpPbgÌtOgð¢ÂÜÅÛ¶µÄ¨©ÌãÀlª èA±êðz¦éÆpPbg (ÌfÐ) ÍÌÄçênßé±ÆÉÈèÜ·B /proc t@CVXeðT|[g·é 2.2 J[lÅÍAt@C /proc/ sys/net/ipv4/ipfrag_high_thresh Æ /proc/sys/net/ipv4/ipfrag_low_thresh ðÒW·êÎA±ÌlðwèÅ«Ü·B Ò¿ÌpPbgÌfЪ ipfrag_high_thresh Éwèµ½l (oCgPÊ) ðz¦éÆAJ[lÍPÉpPbgÌfÐðÌÄͶßATCYÌvª ipfrag_low_thresh Éwèµ½l (2.2 J[lÅÌftHgÍ 256K) ÉÈ éÜÅÌı¯Ü·B±êÍO©çÍpPbgXÌæ¤É©¦A¢ûÌ èlÉB·éÆAT[oÌ«\Íå«ò»µÜ·B ±êðj^·éû@ÌêÂÍAt@C /proc/net/snmp Ì IP: ReasmFails tB[hÉÚ·é±ÆÅ·Bd¢t@CìÌÛɱÌlª ÜèÉ} É㸷éêÍA¨»çâ誶¶Ä¢Ü·B ipfrag_high_thresh Æ ipfrag_low_thresh ÉA(ftHgÈOÌ) ÇÌlÈlðwè·éÆǢ̩ ÍAܾñª èܹñBàµÁèÌlÅÇ¢óÔª¾çê½êÍA{¶ ÌeiâJ`[Émç¹Ä¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 5.6. NIC ÆnuÌ©®lSVG[Vð³øÉ·é lbg[NJ[hÌÉÍAnuâXCb`ÆÌ©®lSVG[Vª¤ ÜÅ«¸AÈÇóðN±·à̪ èÜ·BܽAnuÅÊXÌ|[gð ÙÈÁ½Xs[hÅ®©µÄ¢éÆApPbgðX·é±Æª èÜ·Bl bg[N̬xÆSñdÌÝèðKØÉµÄ °Ä¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 5.7. T[oÌ«\ð °é NFS ÈOÌû@ ¤Ü@\·ét@CT[oÌÝèû@ÉÖ·éêÊIÈKChCðà ¾·é±ÆÍA{¶ÌÚI©çÍOêĢܷBµ©µA¢Â©Ìû@Í ÐîµÄ¨¿lª éÆv¢Ü·BܸARAID 5 ðg¤ÆÇÝoµÍ¬È èÜ·ª«ÝÍxÈèÜ·B¬xÆ緫̼ûªKvÈêÍ RAID 1 /0 Ìpðl¦Üµå¤BÉAW[iOt@CVXeðp¢éÆ AVXeªNbV µ½Æ«ÌÄN®ÔªñíɸµÜ·B{¶Ì ·M_ÅÍANFS version 3 ÆêÉ¿áñÆ®ì·éW[iOt@ CVXeÍ ext3 (ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/) ¾¯ Å·ªAà¿ëñ·®ÉóµÍÏíéŵå¤BÁÉ Reiserfs <http:// www.namesys.com> ÍA2.4 J[lÅÍ NFS version 3 Æ¢ÁµåÉg¦» ¤Å· (µ©µ 2.2 J[lÅ;ßÅ·)BÅãÉAI[g}E^ (autofs â amd) ðg¤ÆANX}Egð (í´ÆÅà¤Á©èÅà) µ ½}VÌǿ穪¿½Æ«ÅàAà¤ÐûÌnOAbvðð¯çêÜ ·BÚ×Í Automount Mini-HOWTO <http://www.linuxdoc.org/HOWTO/mini/ Automount.html> (ú{êó <http://www.linux.or.jp/JF/JFdocs/ Automount.html>ª JF É èÜ·) ð©Ä¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 6. ZL eBÆ NFS ±±Å¢Â©q×éZL eBã̯Ó_ÍA ȽÌTCgð®SÉÀ SɵÄêéí¯ÅÍ èܹñBÈÉàÌàATCgð®SÉÀSÉ·é ±ÆÍūܹñB±ÌßÌàeÍA NFS ÝÌZL eBâèÉÖ·ém ¯ð^¦ÄêÜ·ªAÔ IÈKChÅÍ èܹñµA±ÌàeàíÉÏ »µ±¯Ä¢Ü·BàµZL eBÖAÌZâqgð¨¿Åµ½çA HOWTO ÌÇÒÉÁľ³¢B ൠȽÌlbg[NªAOÆ¢Á³¢ÌÊMðsí¸ (fà¾ß) A©ÂàÌ}V·×ÄÆ[U·×ÄðMÅ«éÈçA±ÌßÌàeÍ È½ÌðÉͧ¿Ü¹ñBµ©µ±Ìæ¤ÈóµÉ élbg[NÍÇ¿ ç©Æ¢¤Æŵ天çA NFS ðÝè·élÉÍA±ÌßðOêIÉn Ç·é±Æ𨷷ߵܷB NFS ɨ¯éANZXÉÍ 2 ÂÌíÞ (iK) ª èÜ·BÅÌiKÍ}E gANZXÅ·B}EgANZXÍAT[oÉA^b`µæ¤ÆµÄ¢é NCAg}VÉæÁÄsíêÜ·B±ÌiKÅÌZL eBÍ /etc/ exports t@Cª¶EµÜ·B±Ìt@CÍA¤L|CgÖÌANZX ð·é}V̼OÜ½Í ip AhXðXgµ½àÌÅ·BNCA gÌ ip AhXª±ÌANZXXgÌGgÌÇê©É}b`·êÎ A»Ì}VÍ}Egð³êÜ·B±êÍàÌ·²ÀSAÆ¢¤í¯Å Í èܹñBAhXð¼Ì³ê½èæÁæçê½è·éÆA}Eg|C gÖÌANZXðµÄµÜ¢Ü·B±Ì^CvÌuFØvðÀ¢EÉᦠÄÝܵ天: N©ª©ÈÐîðµÄ«½ÆµÄA»ÌlÉu±ñÉ¿ÍA ̼OÍ ... Å·vÆ¢¤¼DªÂ¢Ä¢é±ÆðRÉA»Ì©ÈÐîÌ àeðM¶éæ¤ÈàÌÅ·B ñÔÚÌiKÍt@CANZXÅ·B±êÍÊíÌt@CVXeÉà éANZX§äÌ@\Å èA NFS Æ©ÌàÌÅÍ èܹñBhCuª} Eg³êéÆA»±Ìt@CÌ[Up[~bVEO[vp[~b VªANZX§äðßé±ÆÉÈèÜ·B ÄÑáð: bob ÍT[oÅ[U ID 9999 É}bv³êÄ¢éƵܵå¤B {uÍT[oÅ[UÌݪANZXÅ«ét@C (8 iÅ 0600) ðìè Ü·B»Ìt@CªÛ¶³ê½hCuÖÌANZXðA éNCAg ªÂ³êܵ½B»ÌNCAgÅÍA[U ID 9999 ÉÍ mary ª}b v³êĢܷB±ÌêAbob ª©ªÉµ©ANZXÅ«È¢æ¤Éµ½t @CÉεÄA»ÌNCAgÅÌ[U mary ªANZXūĵܢ Ü·B³çÉ«¢±ÆÉA»ÌNCAgÅN©ª root ÉÈÁÄµÜ¤Æ A»ÌN©Í su - [username] ÉæÁÄÇñÈ[UÉàÈêĵܤÌÅ· B NFS Í«¢Æ;¦Ü¹ñB ±êÍâ]IÈóµÆ¢¤í¯ÅÍ èܹñB±ÌNCAgÉæéë¯ «ÍAT[oɢ©Ìèið{¹Îy¸·é±ÆªÅ«Ü·B»êçàÈ PÉÐîµÜ·B ZL eBâèÍ©ªÉÍÖWÈ¢AÆ¢¤l¦Í¨»çÔá¢Å·B Section 6.1 ÅÍ|[g}bpðÀSÉ·éû@ðq×A Section 6.2 ÅÍT [oðA Section 6.3 ÅÍNCAgðÀSÉ·éû@ð»ê¼êà¾µÜ ·BÅãÉ Section 6.4 ÅA NFS T[oü¯Ì³µ¢t@CAEH[Ýè É¢ÄÈPÉc_µ½¢Æv¢Ü·B ÅãÉà¤êÂA nfs Ìf[ÆNCAgvOÌ·×ÄðÅVÉ µÄ¨±ÆÍñíÉdvÅ·B²ÅßÉAiEX³ê½â辩穪 ÉÍÖWÈ¢¾ë¤AÆ¢¤l¦Ä¢élÍA·ÅÉ»Ì_ÅNü³êÄ¢ é©àµêܹñæB ÅVÌZL eB©ð¦³È¢æ¤É·éÉÍA bugtraq [OX gðwÇ·é̪Ǣŵå¤BwÇÌû@ÈÇAbugtraq ÉÖ·éeíÌî ñÍ http://www.securityfocus.com/forums/bugtraq/faq.html É èÜ·B ܽ securityfocus.com <http://www.securityfocus.com> ÌõGWÅ NFS ðõ·êÎA NFS ÉÖA·éZL eBñÌ·×Äð©é±ÆàÅ «Ü·B CERT Ì©àèúIÉ`FbNµÜµå¤B www.cert.org <http:// www.cert.org> É é CERT ÌEFuy[Wð²ÉÈÁľ³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 6.1. |[g}bp |[g}bpÍÇÌT[rXªÇÌ|[gÅ®ìµÄ¢é©ÌêðÛÇµÜ ·BÚ±µÄé}VÍA éT[rXÉANZX·éÉÍÇÌ|[gÉÚ ±·êÎÇ¢©ðA±ÌXgðp¢ÄméÌÅ·B |[g}bpÍANOæè;¢ÔܵÉÈèܵ½ªAµ©µ»ÝÅའÌVXeÇÒ̪ÉÌíÅ·B|[g}bpàANFS â NIS Ư¶A MÅ«é[JGAlbg[NÌO©çÍANZXð·×«ÅÍ èܹñBàµO¢EÉN³È¯êÎÈçȢ«ÅÍAíÉÓµÄA± êçÌVXeðüOÉĵȯêÎÈèܹñB Linux fBXgr [VÍA·×į¶ÉÍūĢܹñBÅVÉ© ¦éfBXgr [VÅàAÀSÅÈ¢|[g}bpðÌpµÄ¢é± ƪ èÜ·B»ÝgÁÄ¢é|[g}bpªÀSÈà̩Ǥ©ð²×éÉ ÍA strings(1) ðp¢ÄA|[g}bpª /etc/hosts.deny â /etc/ hosts.allow Æ¢Á½t@Cð©Ä¢é©²×é±ÆÅ·B|[g}bpª /sbin/portmap É éÌŵ½çAÌR}hÅ`FbNÅ«Ü·: strings /sbin/portmap | grep hosts. ÀSÈ}VÅÍAÌæ¤Èàeªoͳêé͸ŷB ¡¢ /etc/hosts.allow /etc/hosts.deny @(#) hosts_ctl.c 1.4 94/12/28 17:42:27 @(#) hosts_access.c 1.21 97/02/12 02:13:22 ¤£ ܸ /etc/hosts.deny ðÒWµÜ·BÌæ¤ÈsðÜÞæ¤ÉµÜ·B ¡¢ portmap: ALL ¤£ ±¤·éÆ çäéANZXð۵ܷB±ÌN[Yµ½óÔÅ ¡¢ rpcinfo -p ¤£ ðÀsµA|[g}bpªÀÛɱÌt@CðÇÝA»ÌwèÉ]ÁÄ¢é ©ð²×ÄÝľ³¢B rpcinfo ͽÌoÍào³È¢Í¸Å· ( é¢Í G[bZ[Wðo·©àµêܹñ)B /etc/hosts.allow ¨æÑ /etc/ hosts.deny Ìet@CÍAÛ¶·êη®É½f³êÜ·B¢¸êÌf[ àÄN®·éKvÍ èܹñB |[g}bpð·×ĶĵܤÌÍXÉ[É߬éÌÅA /etc/ hosts.allow ðÒWµÄÄÑI[vµÄ¢«Üµå¤Bµ©µÜ¸A±Ìt @Cɽð©ßȯêÎÈèܹñBî{IÉͱÌ|[g}bpÉ ANZXµÈ¯êÎÈçÈ¢·×ÄÌ}VðXgµÜ·BÊíÌ Linux V XeðÒ³¹éÉ ½ÁÄÍAÈñç©ÌRŽ©ÌANZXªKvÉ Èé}VÍñíÉȢ͸ŷB|[g}bpªÇµÄ¢éÌÍ nfsd, mountd, ypbind/ypserv, pcnfsd ÈÇA»µÄ ruptime â rusers Ìæ¤È "r" nR}hQÅ·B±Ì¤¿Èñç©Ìdv«ª éÌÍA nfsd, mountd , ypbind/ypserv ¨æѨ»ç pcnfsd ¾¯Å·BT[o}VÉANZX ªKvÈ}VÉÍA»êð嵀 °éKvª èÜ·B¢ÜT[oÌA hXª 192.168.0.254 ÅATulbg 192.168.0.0 ÉÂȪÁÄ¢éƵ Ü·B»µÄ»ÌTulbgÌ·×ÄÌ}VÍT[oÉANZX·éKvª éƵܷ (±êçÌpêÍ Networking-Overview-HOWTO <http:// www.linuxdoc.org/HOWTO/Networking-Overview-HOWTO.html> ÅླêÄ¢Ü ·BKvÌ éûͱ¿çð©Ä¾³¢: ú{êó <http:// www.linux.or.jp/JF/JFdocs/Networking-Overview-HOWTO.html>à JF É èÜ ·)B±ÌêÍ ¡¢ portmap: 192.168.0.0/255.255.255.0 ¤£ Ìæ¤Èsð /etc/hosts.allow É«Ü·B±êÍ route É^¦élbg [NAhXA¨æÑ ifconfig É^¦éTulbg}XNƯ¶Å·B±Ì }VÅÌfoCX eth0 ÖÌ ifconfig ÍÌæ¤ÉÈÁÄ¢é͸ŷB ¡¢ ... eth0 Link encap:Ethernet HWaddr 00:60:8C:96:D5:56 inet addr:192.168.0.254 Bcast:192.168.0.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:360315 errors:0 dropped:0 overruns:0 TX packets:179274 errors:0 dropped:0 overruns:0 Interrupt:10 Base address:0x320 ... ¤£ ܽ netstat -rn ÍÌæ¤ÉÈé͸ŷB ¡¢ Kernel routing table Destination Gateway Genmask Flags Metric Ref Use Iface ... 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 174412 eth0 ... ¤£ (lbg[NAhXÍÅÌñÉ èÜ·B) /etc/hosts.deny ¨æÑ /etc/hosts.allow et@CÉ¢ÄÍA»ê¼ê ¯¼Ì man y[WÅླêĢܷB [ó: hosts_access(5) Ìꪽ ¢Æv¢Ü·ªB] dv: ±êçÌt@CÌ portmap ÌsÉA IP ÔÈOÌàÌð¢ÄÍ¢ ¯Ü¹ñBzXg¼Ì¼Oø«ÍÔÚIÉ|[g}bpðÄÑo·±Æª è A·éÆܽzXg¼Ì¼Oø«¶¶Ä|[g}bpªÄÑo³êA·éÆÜ ½... o[W 0.2.0 È~ÅÍAnfs-utils pbP[Wà hosts.allow Æ hosts.deny Ìet@CðpµÜ·B]ÁıêçÌt@CÉÍA lockd , statd, mountd, rquotad ÌeGgà¢Ä¨«Üµå¤B ÈãÌìÆÉæÁÄAT[oÍæèµÁ©è·é͸ŷBcèÌâèÍ (² ¾@!) Mµ½}VÅ root ªjçê ( é¢Í»Ì}Vª MS-DOS Åu [g³ê)A»ÌÁ ÅàÁÄAÀSÈ|[g©çCÓÌ[UÉÈè·Üµ½ NGXgðÁÄéæ¤ÈêÅ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 6.2. T[oÌZL eB: nfsd Æ mountd T[oÅÍNCAgÌ root AJEgðMµÈ¢æ¤ÈÝèªÅ«Ü ·B±êÉÍ /etc/exports ÌwèÉ root_squash IvVðp¢Ü·: /home slave1(rw,root_squash) ÀͱêÍftHgÅ·B³øɷ׫âÞÉâÜêÊîªÈ¢ÀèA± êÍíÉLøɵĨ׫ŷB³øÉ·éÉÍ no_root_squash IvV ðg¢Ü·B root_squash ÌóÔÅÍANCAgÅ UID 0 (root Ì[UÔ) Ì[ Uªt@CÉANZX (read, write, delete) µæ¤Æ·éÆAT[oÍ UID ðT[oɨ¯é 'nobody' AJEgÌàÌÆu«·¦Ü·BÂÜèT [oÌ root ¾¯ÉANZXâÏXª³êÄ¢ét@CÉεÄANC AgÌ root ªANZXâÏXðs¤±ÆªÅ«ÈÈéÌÅ·B±êÍÇ ¢ÝèÅ·ÌÅA export ·éSÄÌt@CVXeÉ root_squash ðp¢ é׫ŷBuÅàNCAgÌ root [Uª su ðg¦ÎA¼Ì[U ÉÈÁÄ»Ì[UÌt@CðÏXÅ«¿á¤¶áȢŷ©IvÆ È½ ͨÁµáé©àµêܹñB¦ÍAܳɻÌÊèA»êª Unix â NFS ̬VÈÌÅ·B±êÉÍÐÆÂdvȤʪ èÜ·BdvÈoCiât @CÍA·×Ä root ÌLɷ׫ÅA bin ÈÇÌ root ÈOÌAJE gɷ׫ÅÍ èܹñBȺÈçNCAgÌ root [UªANZX Å«È¢ÌÍAT[oÌ root AJEgÌt@C¾¯¾©çÅ·B exports(5) Ì man y[WÉÍA¼Éà¢Â© squash (r¼) IvVª Lq³êĢܷB±êçðp¢êÎAD«È ( é¢Í¢È) NCA gðMµÈ¢æ¤ÉÝèÅ«Ü·B TCP Ì|[g 1`1024 Í root ªp·é½ßÉ\ñ³êĨè (]ÁÄ "secure ports" ÆÄÎêé±Æª èÜ·)A root ÅÈ¢[UͱêçÌ |[gÉoChūܹñB /etc/exports ÌGgÉ secure IvV ðÇÁ·éÆA1024 ȺÌ|[gÅ®ì·éæ¤ÉÈèÜ·B·éÆ«Óð Á½ñ root [UªAU NFS ÊMð 1024 ÈãÌ|[gðgÁÄJ± ƪh°Ü·B±ÌIvVÍftHgÅLøÉÈÁĢܷB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 6.3. NCAgÌZL eB 6.3.1. nosuid }EgIvV NCAg¤ÅÍAT[oðMµ·¬È¢æ¤ÉÝè·é±ÆªÂ\ÅA ±êÍ}EgÌIvVÅwèµÜ·Bá¦Î NFS t@CVXeÉ é suid vOð®ì³¹È¢æ¤É·éÉÍ nosuid IvVðg ¢Ü·B unix vOÌÉÍ (á¦Î passwd)A "suid" vOÆ ÄÎêéà̪ èÜ·B±êÍt@CðÀs·é[U id ðA»Ìt@ CÌLÒƯ¶É·éàÌÅ·Bt@Cª root ÌLÅA©Â suid ³êÄ¢éÆA»ÌvOÍ root ƵĮìµAæÁÄ root ɵ© ³êĢȢì (pX[ht@CÌ«ÝÈÇ) ª·×Äs¦ÄµÜ ¢Ü·B nosuid IvVðp¢éÌÍæ¢l¦Å·©çA NFS }Egµ ½fBXN·×ÄÉεApð¢µÄ¾³¢B±¤·éÆT[oÌ root [UªÌt@CVXeÉ suid-root vOðìèANCAg ÉêÊ[UƵÄOCµA»Ì suid-root vOðgÁÄNCA gÅà root ÉÈéAÆ¢¤±ÆªÅ«ÈÈèÜ·B³çÉ noexec Iv Vð¯êÎA}Egµ½t@CVXeÅÌt@CÌÀsðÖ~ ·é±ÆàÅ«Ü·Bµ©µ±êÍ nosuid Éä×éÆ ÜèÀpIÅÍÈ¢ ŵå¤Bt@CVXeÉÍÈÆàÀs·×«XNvgâvO ªÜÜêÄ¢éŵ天çB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 6.3.2. broken_suid }EgIvV âvO (xterm ÈǪ»¤Å·) ÅÍA root ÍDZÉÅà«Ý Â\Å éAÆ¢¤OñÉ˶µÄ¢é±Æª èÜ·B±êÍVµ¢J[l Æ NFS }Eg̺Åͬ§µÜ¹ñB±Ìæ¤È suid ®ìðs¤vO ÍA uid }bsOðs¤ nfs T[oÅÍA uid ðÏX·éÌÉpÅ «ÄµÜ¤½ßAZL eBãâèÆÈèÜ·B]ÁÄ linux J[lÌf tHgÅÍA±Ì broken_suid ͳøÉÈÁĢܷB ©¢ÂÜñž¢Ü·ÆAâ linux fBXgr [VÅ éíÌ suid vOðg¤êâAÈñç©Ìâ unix ðgÁÄ¢éêÍA} EgÌÛÉ mount É broken_suid IvVðwè·éKvª é©àµ êܹñBµ©µÅßÌ unix â linux fBXgr [VÌ xterm Ì æ¤ÈvOÍA suid ðKvƵȢÊíÌÀst@CÉÈÁÄ¢Ä A setuid ®ìðs¤vOðÊÉÄÑo·æ¤ÉÈÁĢܷB ±êçÌIvVÍAIvVÌJÉA rsize â wsize ÈÇÆ¢Á µåÉR}ÅæØÁÄ«Ü·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 6.3.3. |[g}bpArpc.statd, rpc.lockd ðNCAgÅÀSÉ·é nfs Ì»ÝÌ (2.2.18 È~) ÌÀÅÍAt@CbLOÌ·×ÄÌ@\ ªT|[g³êĢܷB·Èí¿bN@\𳵮쳹éÉÍAN CAgÅ rpc.statd Æ rpc.lockd ðÀs·éKvª èÜ·B]ÁÄA± êÜÅ nfs ÌT[oÅ©Ä«½âèªA»ÌÜÜNCAgÉàÄÍÜè Ü·BãLÌ|[g}bpÌßðà¤êxÇñÅA|[g}bpðÀSÉ·é ½ßÌîñðÄmFµÄ¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 6.4. NFS Æt@CAEH[ (ipchains Æ iptables) IPchains (2.2.x J[l) Æ iptables (2.4.x J[l) ðp¢éÆA¢ ÀS«ðÀ»Å«Ü·BNªÚ±Å«é©Ìèðf[É ( é¢Í±Ì êÍ tcp bp[É) sí¹éÌÅÍÈAÚ±ÌÝðæèºwÅÂ/ Û·éÌÅ·B±ÌêAÚ±ðæè¢iKÅAܽæèO[oÉØ fÅ«A çäéU©ç}Vðçé±ÆªÅ«éÌÅ·B Linux Ìt@CAEH[ðǤÝè·é©ÍA±Ì¶ÌÍÍðå«z¦ ĢܷB»¡ðÁ½ÇÒÍ Firewall-HOWTO â IPCHAINS-HOWTO <http:// www.linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html> ð©Ä¾³¢ (ú{êó <http://www.linux.or.jp/JF/JFdocs/IPCHAINS-HOWTO.html>ª JF É èÜ·) BJ[l 2.4 È~Ì[UÍA http://netfilter.samba.org É é netfilter/iptables EFuy[WÉ¢ÁÄÝľ³¢·ÅÉ ipchains â netfilter Ì®ìðnmµÄ¢élÉÍAt@CAEH[Æ NFS ðǤÝè ·é©ÉÖµÄA±ÌßÌàe͢©Ìqgð^¦Äêéŵå¤B t@CAEH[ÌÝèɨ¢Ä]¤×«[ÍAܸ·×ÄðÖ~µA µ¾¯Â·é±ÆÅ·B±¤·êÎÓ}µÈ¢ÂðÔáÁÄʳ¸É·Ý Ü·B l¶·×«|[gÍȺÌÊè: a. |[g}bpÍ 111 (tcp Æ udp) Å·B b. nfsd Í 2049 ÅATCP ̱Æà UDP ̱Æà èÜ·B NFS over TCP ÍT[oÅÍܾÀ±iKÈÌÅAT[oÅÍÙÚ UDP ¾¯Åµå¤ªA NCAg¤ÅÌ TCP ÌpÍ©ÈèÀèµÄ¢Ü·B c. mountd, lockd, statd Í ¿±¿®«ñèÜ· (±êª»à»à|[g} bpªKvÈpŵ½) - ±êªâèÌ´öÉÈèÜ·B±êðµ¤É Íî{IÉ 2 ÂÌâèûª èÜ·B i. ÙÚ·×ÄÌ|[gðǢŨªAÁèÌ IP É¢ÄÍåªÌ |[gð¾¦IÉJ¯éB ii. ±êçÌ[eBeBÌÅßÌo[WÅÍA "-p" IvV ÉæÁÄÁèÌ|[gðpÅ«éæ¤ÉÈÁĢܷB©ªÌgÁ Ä¢éo[WªT|[gµÄ¢é©Ç¤©Í man y[Wð©Ä ¾³¢B±¤·êÎA NFS NCAg}V©ç̱êçÌ|[g ÖÌANZXÌÝðµA[Jlbg[N©çÅà¼Ì·×Ä Ì|[gÍÇ®æ¤ÉÅ«Ü·B OÒÌûðÌp·éêÍAIPCHAINS ÅÍÌæ¤ÉÈèÜ·B ipchains -A input -f -j ACCEPT ipchains -A input -s trusted.net.here/trusted.netmask -d host.ip/255.255.255.255 -j ACCEPT ipchains -A input -s 0/0 -d 0/0 -p 6 -j DENY -y -l ipchains -A input -s 0/0 -d 0/0 -p 17 -j DENY -l ¯¶Ýèð iptables (2.4 ÅÌt@CAEH[c[) Ås¤ÆÌæ¤É ÈèÜ·B iptables -A INPUT -f -j ACCEPT iptables -A INPUT -s trusted.net.here/trusted.netmask -d \ host.ip/255.255.255.255 -j ACCEPT iptables -A INPUT -s 0/0 -d 0/0 -p 6 -j DENY --syn --log-level 5 iptables -A INPUT -s 0/0 -d 0/0 -p 17 -j DENY --log-level 5 ÅÌsÍ·×ÄÌpPbgtOgð·é (½¾µÅÌpPbg tOgðB±êÍÊíÌpPbgƯ¶ÉµíêÜ·) ±Æ𦵠ܷB_IÉÍÄ\¬³êéÜÅpPbgªÊé±ÆÍÈAܽÅÌt OgªÊéÜÅÄ\¬ÍsíêܹñBà¿ëñpPbgtOg ðp¢ÄA}VÌ×ð °éæ¤ÈUÍÂ\ÉÈÁĵܢܷBµ© µ NFS ÍtOgðʳȢƳµ®ìµÜ¹ñBÚ×Í Section 7 ð©Ä¾³¢B ¼Ì 3 sÍA[Jlbg[NÍM·éªA»êÈOÍ·×ÄÛµÄ L^·éæ¤ÉµÄ¢Ü·B±êÍØÚÌשȷÎçµ¢ÝèÆ¢¤í¯Å ÍȢŷªAæèÚ×È[Ýèͱ±ÅÌc_ÌÍÍðz¦Ä¢Ü·B æè^¢[AµiÈ[ðÝèðµ½¢lü¯ÉA¢Â©îñ¹ð¦µ Ĩ«Ü·B statd, rquotad, mountd, lockd ªÚ®·é²ÆÉ ( è¾é± ÆÅ·) t@CAEH[Ì[ðÄÝè·é±Æðß½êÍA nfs N CAg©çÌtOgðÊ·æ¤ÉT[oðÝè·éKvª èÜ· B³àÈ¢ÆAtOgÌÛÉÖµÄAñíÉsvcÈñðJ[l ©çó¯é±ÆÉÈèÜ·B±ÌbZ[WÅÍANCAgÌ|[g 65535 ©çT[oÌ|[g 65535 ÖÌpPbgªÛ³ê½Aƾ¤Í¸Å· BtOgð·êαÌâèÍðÅ«Ü·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 6.5. ÜÆß hosts.allow, hosts.deny, root_squash, nosuid, Á |[gÌ@\ÈÇð| [g}bpâ nfs \tgEFAÉp¢êÎA»Ý nfs ÅmçêÄ¢é½Ì oOðð¯é±ÆªÅ«AÈÆਨÞËÀSÉÈÁ½Æl¦é±ÆªÅ «éŵå¤Bµ©µ»êÅàÇÌƱëANüÒªlbg[NÉANZ XūĵܦÎAöµ¢R}hð .forward É¢½èA /home â /var/ mail ª NFS GNX|[g³êÄ¢êÎ[ðÇñ¾èūĵܢܷB ܽ¯¶R©çAPGP Ìé§®Í nfs ãÉu¢ÄÍÈèܹñBÈÆà 믫ª é±ÆÍmÁĨ׫ŷB¢ÜâmÁ½í¯Å·¯ÇB NFS Æ|[g}bpÍ¡GÈVXeÉÈÁÄ¢éÌÅAVµ¢oOªAî{ IÈÝvɹæäXÌp¢Ä¢éÀɹæA«©Â©çÈ¢ÆÍv¦Ü¹ ñB¢ÜÅàVµ¢ªí©ÁÄ¢ÄAN©ª»êð«pµÄ¢é©àµêÜ ¹ñBÅà»êªl¶Æ¢¤àÌÅ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 7. guV [g ±ÌßÍANFS ð¤Üg¦È¢êÉǤ·êÎ梩AiKð¥ñÅ ðàµæ¤Æ¢¤àÌÅ·BÊíguÍNCAg¤©ç»Ìó ð»µÍ¶ßéÌÅAffà»±©çnßÜ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 7.1. }Egµ½t@CVXeÅt@Cª©¦È¢ ܸÅÉA»Ìt@CVXeªÀÛÉ}Eg³êÄ¢éÌ©mFµÄ ¾³¢Bû@ͽíÞ© èÜ·ªAêÔm©ÈÌÍ /proc/mounts ð©é ±ÆÅ·B±±ÉÍ}Eg³êÄ¢ét@CVXeÆA»êçÌÚת êÉÈÁĢܷB±êª¤Ü¢©È¯êÎ (á¦Î /proc t@CVX eðJ[lÉgÝñŢȩÁ½Æ©)Amount -f Æü͵ÄÝľ ³¢ (¦³êéîñÍÈÈèÜ·)B t@CVXeª}Eg³êÄ¢éæ¤ÈçA൩µ½ç»ÌãÉÊÌ t@CVXeð}EgµÄµÜÁ½Ì©àµêܹñ (±Ìêͼû Ì{ [ðA}EgµÄAÄ}EgªKvÅ·)B é¢ÍT[oÅ »Ì{ [ÌGNX|[gðAÀÛÌ}EgÌOÉsÁĵÜÁ½Ì© àµêܹñB±Ìê NFS Í}Eg|Cg¾¯ðGNX|[gµÄµÜ ¢Ü· (±ÌêÍT[oÅ NFS ðÄN®µÜ·)B t@CVXeª}Eg³êĢȯêÎA}EgµÄÝľ³¢B ūȯêÎÇó 3 ÖB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 7.2. t@CNGXgªnOµ½èAANZXÒ¿Å^CAEg·é Êí±êÍANCAgªT[oÆÊMÅ«È¢êÉN±èÜ·BÇó 3 Ì b ð©Ä¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 7.3. t@CVXeð}EgÅ«È¢ { [ð}EgÅ«È¢êÉ mount ªo·G[ÍAÙÚ 2 ÂÉÈ èÜ·B»ê¼êɦµÜµå¤B a. failed, reason given by server: Permission denied ±êÍA{ [ÖÌANZXðT[o©çÛ³ê½Æ«Éoéb Z[WÅ·B i. /etc/exports t@Cð²×ÄA»Ì{ [ªGNX|[g³ê Ä¢é©ANCAgª³µ¢ANZX ÀðÁÄ¢é©ðmF µÜµå¤Bá¦ÎAÇÝæèÌANZXµ©È¢NCAgªA »Ì{ [ð ro IvVÅÍÈ rw IvVÅ}Eg µæ¤ÆµÄ¢È¢Åµå¤©B ii. nfsd ÌN®È~É /etc/exports ðÏXµ½êÍAexportfs R} hÅ»êð NFS É`¦½Åµå¤©B exports ðmÀÉÄÇÝ Ý³¹éÉÍA exportfs -ra R}hðü͵ܵå¤B iii. /proc/fs/nfs/exports t@Cð²×A{ [ÆNCAg ª³µXg³êÄ¢é©mFµÜµå¤B (/var/lib/nfs/xtab ð©êÎAANeBuÈGNX|[g·×ÄÉηé®SÈIvV ÌXgà¾çêÜ·B) XgÉÈ¢êÍA³µÄGNX| [g³êĢܹñBXgÉ Á½êÍAT[oªNCAg ð ȽÌÓ}ÊèÉF¯µÄ¢é©ðmFµÜµå¤Bá¦Î»Ì NCAgÌâXgª /etc/hosts É ÁÄAT[oͱÁ¿ ð©Ä¢éÌ©àµêܹñB é¢ÍNCAgÌ®SÈAh Xð¢Ä¢È¢¹¢ÅA¼OðÌʪhCÌÊÌ}VÉ ÈÁÄ¢é©àµêܹñBT[o©çNCAgÉ ping ðÅ¿ ANCAg©çT[oÖà ping ðÅÁÄÝܵå¤B±êª¤ Ü¢©È©Á½èApPbgXª Á½êÉÍAæèºwÌl bg[NÌâèŵå¤B b. RPC: Program Not Registered (or another "RPC" error): ±êÍNCAgªAT[oÅÀsÌ NFS ðmÅ«È©Á½±Æð Ó¡µÄ¢Ü·B¢Â©ÌRªl¦çêÜ·B i. ÅÉANFS ªÀÛÉT[oÅ®ìµÄ¢é©ðmFµÜµå¤BT [oÅ rpcinfo -p Æü͵ܷBÌæ¤È\¦ªoé͸ŷB ¡¢ program vers proto port 100000 2 tcp 111 portmapper 100000 2 udp 111 portmapper 100011 1 udp 749 rquotad 100011 2 udp 749 rquotad 100005 1 udp 759 mountd 100005 1 tcp 761 mountd 100005 2 udp 764 mountd 100005 2 tcp 766 mountd 100005 3 udp 769 mountd 100005 3 tcp 771 mountd 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 300019 1 tcp 830 amd 300019 1 udp 831 amd 100024 1 udp 944 status 100024 1 tcp 946 status 100021 1 udp 1042 nlockmgr 100021 3 udp 1042 nlockmgr 100021 4 udp 1042 nlockmgr 100021 1 tcp 1629 nlockmgr 100021 3 tcp 1629 nlockmgr 100021 4 tcp 1629 nlockmgr ¤£ ±êçÍANFS Ì version 2 Æ 3Arpc.statd version 1Albg [NbN}l[W (T[rX¼Í rpc.lockd) version 1, 3, 4 ª®ìÅ é±Æð¦µÄ¢Ü·Bܽ NFS ª TCP ðgÁÄ¢é © UDP ðgÁÄ¢é©É¶ÄAÊXÌT[rXXgª\¦³êÄ ¢Ü·B TCP ð¾¦IÉvµ½êð«AÊíÍ (íÉÅÍ è ܹñ) UDP ªftHgÉÈèÜ·B ÈÆà|[g}bpAnfs, mountd ªÈ¯êÎA NFS ðÄN®µ ȯêÎÈèܹñB³µÄN®Å«È¢Æ«ÍAÇó 9 ÉiñÅ ¾³¢B ii. ÉNCAg©ç²×ܵå¤BNCAgÅ rpcinfo -p [server] Æü͵ܷB [server] ÉÍT[oÌ DNS ¼© IP Ah Xðüêľ³¢B Xgª\¦³ê½êÍAÀsµæ¤ÆµÄ¢é}EgÌ^Cv ªT|[g³êÄ¢é©mFµÄ¾³¢B Version 3 NFS ðgÁÄ }Egµ½¢êÍA Version 3 ªXg³êÄ¢é©mFµÜ· B NFS over TCP Å}Egµ½¢êÍA»êªo^³êÄ¢é© mFµÄ¾³¢ (Linux ÅÈ¢NCAgÅÍA TCP ªftH gÉÈÁÄ¢é±Æª èÜ·)BoÍÌ©©½ÉÖ·éæèÚµ¢î ñÍ rpcinfo Ì man y[Wð©Ä¾³¢Bpµæ¤ÆµÄ¢é }EgÌ^CvªXgÉȢƫÍAÊÌ^CvÌ}Egð µÄÝľ³¢B No Remote Programs Registered Æ¢¤G[ªo½Æ«ÍAT[o Ì /etc/hosts.allow t@CÆ /etc/hosts.deny t@Cð²×Ä ANCAgÌANZXª{ɳêÄ¢é©mFµÄ¾³ ¢B³çÉAGgª³µ¢æ¤ÈçA /etc/hosts ( é¢Í DNS T[o) ðmFµÄANCAg}Vª³µXg³êÄ¢é ©AT[o©çNCAgÉ ping ªÅÄé©ðmFµÄ¾³¢ BVXeÌG[Oɽ©QlÉÈébZ[WªoĢȢ© à©ÄÝܵå¤B /etc/hosts.allow ÌGgªÔáÁÄ¢éê ÌFØÌG[ÍAÊí /var/log/messages ÉoÜ·ªAVXe OÌÝèÉæÁÄÍÊÌt@C©àµêܹñB syslog Ì man y[Wð©éÆAOÝèÌð̯ÉÈéŵå¤BÅãÉAà ¢ OS ÅÍ 2 äÌ}VÔÌoHªÎÌIÅÈ¢ÆAâèð¶¶é± ƪ èÜ·BNCAg©ç tracepath [server] Æü͵Ao ÍÉ "asymmetric" Æ¢¤PêªoÈ¢±ÆðmFµÄ¾³¢BÅ ßÌ Linux fBXgr [VÈçAoHªñÎÌÅ ÁÄàâ èͶ¶È¢Í¸Å·B Remote system error - No route to host Æ¢¤G[ÉÈèAµ© µ ping ÍÍêÉÍA«Â·¬ét@CAEH[Ì]µÉÈÁ ½Ìŵå¤B¨»çT[oAܽÍT[oÆNCAgÌÔÉ Ýu³êÄ¢éÅ ë¤At@CAEH[ð²×ĺ³¢BîñÍ ipchains, netfilter, ipfwadm Ì man y[WâA IPChains-HOWTO <http://www.linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html> (JF Éæé ú{êó <http://www.linux.or.jp/JF/JFdocs/IPCHAINS-HOWTO.html> ) Æ© Firewall-HOWTO <http://www.linuxdoc.org/HOWTO/ Firewall-HOWTO.html> (JF Éæéú{êó <http://www.linux.or.jp /JF/JFdocs/Firewall-HOWTO.html>) ©ç¾çêÜ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 7.4. }Egµ½{ [ÅAt@CÉANZX·é Àª èܹñ 2 ÂÌ´öªl¦çêÜ·B «±ÝÌ ÀªÈ¢êÍAT[oÌ /proc/fs/nfs/exports ð©ÄAGN X|[gIvVðmFµÄ¾³¢B»Ìt@CVXeÍÇÝæèê pÉÈÁĢȢŵ天BÇÝæèêpÌêÍAÇÝ«[hÅÄG NX|[gµÈ¯êÎÈèܹñ (/etc/exports ðÒWµ½ãÍ exportfs -ra ðYêÈ¢æ¤É)BܽNCAgÌ /proc/mounts à²×A{ [ ªÇÝ«[hÅ}Eg³êÄ¢é©mFµÜµå¤ (ÇÝæèêpÅ }EgµÄ¢éêÍAिåÁÆÁèµâ·¢G[bZ[WªoÄ ¢éŵ太)BáÁÄ¢½ç rw IvVðt¯ÄÄ}EgµÜµå¤ B 2 ÂßÌ´öÍA[U¼Ì}bsOÉÖWµÄ¨èA root ÌêÆñ root ÌêÆÅXÙÈèÜ·B root ÅȢƫÍANCAgÆT[oÅ[U¼ªêvµÄ¢È¢©àµ êܹñBNCAgÆT[o̼ûÅ id [user] ðÀsµAUID Ôª¯ ¶©Ç¤©mFµÄ¾³¢BÙÈÁÄ¢éÆ«ÍANIS, NIS+, rsync »Ì¼ A[U¼Ì¯úÉp¢Ä¢éVXeÉâèª èÜ·BO[v¼ªêv µÄ¢é©àmFµÜµå¤BܽAGNX|[gÌÛÉ all_squash IvV ðwèµÄ¢È¢©Ç¤©àmFµÜµå¤B[U¼ªêvµÄ¢éÆ «ÍA»Ì[UÉÍ NFS ÆͳÖWÈAæèêÊIÈ ÀÖAÌâèª é àÌÆvíêÜ·B root ÌÍAGNX|[gÌÛÉ no_root_squash IvVðt¯Ä¢È¢ ÌÅÍȢŵ天BT[oÅ /proc/fs/nfs/exports Ü½Í /var/lib/nfs /xtab ð²×AIvVªwè³êÄ¢é©mFµÄ¾³¢B½¾µêÊ ÉÍANFS T[oÉ root ƵÄÌ«±Ý Àð^¦éÌÍAæÙÇÌKv ªÈ¢ÀèÇ¢l¦ÅÍ èܹñ (Linux NFS ªftHgűêðÖ~µ Ä¢éRÅà èÜ·)BÚ×Í Section 6 ð©Ä¾³¢B root squash ðp¢Ä¢éêÍA»ÌÜÜɵĨ̪¢¢Åµå¤B root ðæ¾µÄàAt@CÉηé ÀÍ nobody ÌàÌƯ¶ÉÈèÜ· B½¾µ root ªÇÌ uid É}bv³êé©ðßÄ¢éÌÍT[oÅ é± ÆàYêÈ¢æ¤ÉBftHgÅÍAT[oÍ /etc/passwd t@CÌ nobody GgÌ UID Æ GID ðg¢Ü·ªA/etc/exports t@CÅ anonuid IvVâ anongid IvVðg¦ÎA±êçðÏXÅ«Ü·B NCAgÆT[oÅAnobody É}bv³êé UID ª¯¶ÉÈÁÄ¢é© àmFµÄ¨«Üµå¤B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 7.5. ñíÉå«Èt@Cð]·éÆA NFS ªT[oÌ CPU ðæÁÄµÜ ÁÄA~ÜÁ½æ¤ÉÈÁĵܢܷ ±êÍ 2.2 J[lÌ fsync() R[ÌâèÅASÄÌ sync-to-disk N GXgð¯És¤©çÅ·B]ÁÄ«±ÝÔªt@CTCYÌñæÉ ÈÁĵܢܷBÂ\ÈçA2.4 J[lÉ·êÎâèÍðµÜ·Bܽ GNX|[gÉ no_wdelay IvVðwè·êÎAevOÍæè¬ È o_sync() ðg¤æ¤ÉÈèÜ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 7.6. OÉïÈG[bZ[Wªoé a. Ìæ¤ÈtH[}bgÌbZ[W: ¡¢ Jan 7 09:15:29 server kernel: fh_verify: mail/guest permission failure, acc=4, error=13 Jan 7 09:23:51 server kernel: fh_verify: ekonomi/test permission failure, acc=4, error=13 ¤£ ±êçÍ NFS Ì setattr Iy[VªA«Ý ÀÌÈ¢t@C ÉεÄÝçê½Æ«ÉN±èÜ·B±êçÌbZ[WͳQÅ· B b. Ìæ¤ÈbZ[WªOÉpÉÉ»íêé: ¡¢ kernel: nfs: server server.domain.name not responding, still trying kernel: nfs: task 10754 can't get a request slot kernel: nfs: server server.domain.name OK ¤£ ±Ì "can't get a request slot" Æ¢¤bZ[WÍANCAg¤ Ì RPC R[hª^CAEgð½³ño (¨»çÍlbg[NÌ ¬GâT[oÌß×̽ß) µ½½ßÉA¯vÌl𬳵A T[oÌ×ðy¸µæ¤ÆµÄ¢é±Æð¦µÄ¢Ü·B±êçÌb Z[WÌ´öÍA¨»çÍ«\ª«¢½ßÅ·B Section 5 ð©ÄÝÄ ¾³¢B c. }Egµ½ãANCAgÅÌæ¤ÈbZ[Wªoé: ¡¢ nfs warning: mount version older than kernel ¤£ ±êꢀ éƨèÅ·Bmount ÌpbP[Wâ am-utils ðAbv O[hµÄ¾³¢ (Èñç©ÌRÅAbvO[hÅ«È¢êÍ ARpCµÈ¨µÄAVµ¢J[lÌ@\ªRpCÉF¯³ êéæ¤É·é¾¯ÅàAæ覸ÍñðÅ«Ü·)B d. N®/I¹É lockd ÌOÉG[ªoé: u[gOÉÌæ¤ÈbZ[WªoÄ¢éÌŵ天: ¡¢ nfslock: rpc.lockd startup failed ¤£ ±êçͳQÅ·Bâo[WÌ rpc.lockd ÍAè®ÅN®·éKv ª èܵ½Bµ©µVµ¢o[WÅÍA knfsd ÉæÁÄ©®IÉN ®³êÜ·B»ÝÌftHgÌN®XNvg̽ÍAܾ lockd ð èÅN®µæ¤ÆµÜ·ªA±êÍsvÈÌÅ·B±ÌbZ[Wð~ß ³¹½¯êÎAN®XNvgðÏX·êÎ OK Å·B e. Ìæ¤ÈbZ[WªOÉ»íêé: ¡¢ kmem_create: forcing size word alignment - nfs_fh ¤£ ±êÍt@Cnhª 32 rbgÌ{ÅÍÈ 16 rbgÅ é± Æ©çĢܷB±Ì½ßJ[lÌ@ª¿åÁÆ«ÈÁÄ¢éÌ Å·B³QÅ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 7.7. ÀÛÌp[~bVª /etc/exports ÌwèÆÙÈé /etc/exports ÍXy[XÉÆÄàÆÄàq´Å·Bá¦ÎÈºÌ 2 sͯ¶ ÅÍ èܹñ: /export/dir hostname(rw,no_root_squash) /export/dir hostname (rw,no_root_squash) ÅÌÙ¤ÍAhostname É /export/dir ηé rw ANZXð^¦A root_squash ͵ĢܹñBñÔÚÌÍAhostname É rw Àð^¦Ä root_squash ðwèA»µÄu çäézXgvÉ rw ANZXð^¦A root_squash ͵ĢܹñBí©èܵ½? ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 7.8. ¨©µÈAsÀèÈU¢ð·é ls Ìæ¤ÈÈPÈR}hÍ®ì·éªAåÊÌîñð]·éæ¤ÈìÆð s¤Æ}Eg|CgªbN·éB 2 ÂÌRªl¦çêÜ·B i. T[oâNCAgÅ ipchains ðgÁĨèAtOg»³ê½ pPbgª`FCðÊêÈ¢æ¤ÉµÄ¢éÆA±Ìæ¤È±ÆªN± èÜ·B[gzXg©çÌtOgð·êÎAÄÑ@\·é ͸ŷBâèûÍ Section 6.4 ð©Ä¾³¢B ii. }EgIvVÌ rsize â wsize ÉAT[oªT|[gµÄ¢éæ èàå«ÈlðwèµÄ¢éÌ©àµêܹñB rsize â wsize ð 1024 ɸçµÄAâèªð·é©©Ä¾³¢Bðµ½çAÄÑäÁè ÆAæèKØÈlÉâµÄ °Ä¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 7.9. nfsd ªN®µÈ¢ /etc/exports ð²×A root ÉηéÇÝæèª é©mFµÄ¾³¢ BoCið²×AÀst@CÅ é©mFµÄ¾³¢BJ[lÉ NFS T[oÌT|[gªgÝÜêÄ¢éŵ天B±êçÌ¢¸êÅàðµ ȯêÎAoCiðÄCXg[·éKvª é©àµêܹñB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8. Linux Ì NFS ð¼Ì OS Æg¤ çäé OS (Linux àÜÞ) ÉÍA»ê¼êÌ NFS ÌÀÉA¿åÁƵ½ á¢â¹ª èÜ·B éêÍvgRªBȹ¢¾Á½èA éê ÍÅÁ©¢ZL eBz[ðcµ½ÜÜÅ é¹¢¾Á½èARÍ¢ ë¢ëÅ·B Linux ÍAäXÌméÀèÅÍAW[Èx_Ì NFS À ·×ÄƳµ®ìµÜ·Bµ©µA 2 ÂÌ OS ª¨Ý¢NAÉÊMµÄ¢ é©Ç¤©ðmF·éÉÍAÇÁÌìƪKvÉÈé±Æà èÜ·B±ÌZ NVÅͱêçÌìÆðש©Ä¢«Ü·B êÊIɾÁÄAJ[l 2.2.18 æèàOÌ Linux }VðA Linux ÈO ÌNCAgÌ NFS T[oÆ·éÌÍAS¨··ßūܹñBâJ[ lÅÌÀÍANCAgƵÄÈçâèÈ®ì·éÆv¢Ü·Bµ© µ±êçÌJ[lŽ©âèªN«½êAäX©çÅ«éAhoCXÍA ܸJ[lðAbvO[hµÄâèªð·é©©ÄÝëAÅ·B[U óÔÌ NFS ÀàA Linux ÈOÌNCAgÆͤܮ«Ü¹ñB È~ÉALinux ðW[È OS Æ¢ÁµåÉg¤êÉmçêÄ¢é¿ð °Ä¨«Ü·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.1. AIX 8.1.1. Linux NCAgÆ AIX T[o Section 3 Åp¢½áÉηé /etc/exports t@CÌtH[}bgÍA Ìæ¤ÉÈèÜ·B /usr slave1.foo.com:slave2.foo.com,access=slave1.foo.com:slave2.foo.com /home slave1.foo.com:slave2.foo.com,rw=slave1.foo.com:slave2.foo.com ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.1.2. AIX NCAgÆ Linux T[o AIX Í /etc/fstab ÅÍÈ /etc/filesystems ðp¢Ü·B Section 4 ÅÌ áÉηéGgÌTvð¦µÄ¨«Ü·B /mnt/home: dev = "/home" vfs = nfs nodename = master.foo.com mount = true options = bg,hard,intr,rsize=1024,wsize=1024,vers=2,proto=udp account = false i. Version 4.3.2 Ì AIX ÉεÄÍAt@CVXeð insecure IvV ÅGNX|[g·éKvª èÜ·B·Èí¿ NFS ðñÁ |[g (ÂÜè 1024 ÈãÌAroot ÈOÌ[UªoChÅ«é|[g) ÅÒ @³¹Ü·Bâo[WÌ AIX ÅÍA±êÍKvÈ¢æ¤Å·B ii. AIX ÌNCAgÍAftHgÅÍ Version 3 NFS over TCP Å}E gµÜ·B Linux T[oª±êðT|[gµÄ¢È¢êÍA}Eg ÌIvVÉ vers=2 â proto=udp ðwèµÈ¯êÎÈèܹñB iii. /etc/exports Élbg}XNðg¤ÆA éNCAgªZbgµ ½Æ«ÉAÊÌNCAgÌ}EgªØêÄµÜ¤êª èÜ·B ±êÍezXgðêÂêÂXg·êÎðµÜ·B iv. AIX 4.3.2 ÌI[g}EgÍA¾ç©ÉDZ©ªÖñÅ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.2. BSD 8.2.1. BSD T[oÆ Linux NCAg BSD J[lÍubNTCYð嫵½Ù¤ªæèÇ®ì·éXüª èÜ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.2.2. Linux T[oÆ BSD NCAg BSD Ìo[WÉæÁÄÍAT[oªñÁ |[gÅ®ìµÄ¢éKvª èÜ·B±Ìê{ [ðGNX|[g·éÆ«É insecure IvV ªKvÉÈèÜ·BÚ×Í exports(5) Ì man y[WðB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.3. Compaq Tru64 Unix 8.3.1. Tru64 Unix T[oÆ Linux NCAg êÊÉ Tru64 Unix T[oÍ Linux NCAgÆÉßÄÇDÉ®ìµÜ·B Section 3 ÅäXªp¢½áÉηé /etc/exports t@CÌtH[}b gÍAÌæ¤ÉÈèÜ·B /usr slave1.foo.com:slave2.foo.com \ -access=slave1.foo.com:slave2.foo.com \ /home slave1.foo.com:slave2.foo.com \ -rw=slave1.foo.com:slave2.foo.com \ -root=slave1.foo.com:slave2.foo.com Tru64 ÍA}Egvª é½ÑÉ /etc/exports t@Cð`FbNµÜ ·B]ÁÄ exportfs R}hðN®·éKvÍ èܹñBÀÛ Tru64 Unix ̽Ìo[WÅÍA±ÌR}hͶݵܹñB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.3.2. Linux T[oÆ Tru64 Unix NCAg ±ÌgÝí¹ÉÍÓ_ª 2  èÜ·BܸA Tru64 Unix Ì}EgÍ ftHgÅ Version 3 NFS ðp¢Ü·B Linux ÌT[oª Version 3 NFS ðT|[gµÄ¢È¢ÆA}EgG[ÉÈéŵå¤BÉATru64 Unix 4.x ÅÍANFS bNNGXgð daemon ªs¢Ü·B]ÁÄ Tru64 Unix 4.x NCAgÉGNX|[g·é{ [ÉÍA·×Ä insecure_locks ðwè·éKvª èÜ·BÚ×Í exports(5) Ì man y[WðB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.4. HP-UX 8.4.1. HP-UX T[oÆ Linux NCAg HP-UX ÅÌ /etc/exports ÌGgÌáð°Ü·B /usr -ro,access=slave1.foo.com:slave2.foo.com /home -rw=slave1.foo.com:slave2.fo.com:root=slave1.foo.com:slave2.foo.com (ÅãÌGgÅÌ root IvVÍAîñƵĦ·ÚI¾¯Å·B¢ç ȯêÎwèµÈÄà\¢Ü¹ñB) ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.4.2. Linux T[oÆ HP-UX NCAg HP-UX ÌfBXNXNCAgÉεÄAfoCXt@Cð³µGN X|[g·éÉÍAÈÆàJ[lÌo[W 2.2.19 ( é¢Í 2.2.18 Épb`ðĽàÌ) ªKvÉÈèÜ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.5. IRIX 8.5.1. IRIX T[oÆ Linux NCAg IRIX ÅÌ /etc/exports ÌGgÌáð°Ü·B /usr -ro,access=slave1.foo.com:slave2.foo.com /home -rw=slave1.foo.com:slave2.fo.com:root=slave1.foo.com:slave2.foo.com (ÅãÌGgÅÌ root IvVÍAîñƵĦ·ÚI¾¯Å·B¢ç ȯêÎwèµÈÄà\¢Ü¹ñB) ñÉæéÆAlinux 2.2 x[XÌVXeÉ nohide IvVðp¢ÄG NX|[g·éÆâèª é»¤Å·B±êÍ 2.4 J[lÅÍC³³êÄ¢ Ü·BÆè ¦¸ñð·éÉÍAt@CVXe̺ÌKwðÊXÉGNX |[gµÄ}Eg³¹é±ÆÅ·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.5.2. IRIX NCAgÆ Linux T[o Ý^pÉÖ·éÍÁÉ èܹñB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.6. Solaris 8.6.1. Solaris T[o Solaris ÌT[o¤Ì`®ÍA¼Ì OS ÆXÙÈÁĢܷBÝèt@C ÉÍ /etc/exports ÅÈ /etc/dfs/dfstab ðp¢Ü·BGgÉÍ "share" R}hðp¢Ü·B Section 3 ÅÌáÉηé®ÍÌÊèÅ ·B share -o rw=slave1,slave2 -d "Master Usr" /usr »µÄÒWãÉÍAexportfs ÌãíèÉ shareall ðÀsµÜ·B Solaris ÌT[oÍpPbgTCYÉñíÉq´Å·B Linux NCAgð Solaris T[oÆg¤êÉÍAK¸}EgÉ rsize Æ wsize ð 32768 ɵľ³¢B ÅãÉ Solaris ɨ¯é root squash É¢Äq×Ĩ«Ü·B root Í [U noone É}bv³êA±êÍ[U nobody ÆÍÙÈèÜ·BNCA gÅt@CÌp[~bVÉÖµÄâ誨«½çA}bsOªúÒÊ èÉÈÁÄ¢é©AYê¸`FbNµÄ¾³¢B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.6.2. Solaris NCAg Solaris ÌNCAgÍèúIÉÌæ¤ÈbZ[WðoµÜ·B ¡¢ svc: unknown program 100227 (me 100003) ¤£ ±êÍ Solaris ÌNCAgªA}Eg·éÛÉA ACL îñðæ¾µæ ¤Æ·é©çÅ· - à¿ëñ Linux ÉÍ èܹñB±ÌbZ[Wͳ µÄ\¢Ü¹ñB fBXNXÈ Solaris NCAgÉÖµÄÍA 2 ÂÙÇÓ_ª èÜ ·Bܸ /dev/null ð³µGNX|[g·éÉÍAÈÆàJ[lÌo [Wª 2.2.19 ÅȯêÎÈèܹñBÉAfBXNXÌ sparc N CAgÅÍApPbgTCYðñíɬ³ (·Èí¿ 1024 É) µÈ¯ê ÎÈèܹñBNCAgÍpPbgðtÉÀ×·¦é±ÆªÅ«È¢©ç Å·B±êÍNCAgÌ /etc/bootparams ÅÝèÅ«Ü·B ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.7. SunOS SunOS ÉÍ NFS Version 2 over UDP µ© èܹñB ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.7.1. SunOS T[o T[o¤ÅÍASunOS Í /etc/exports t@CÌ`IÈ`®ðp¢Ü·B Section 3 ÅÌáÍÌæ¤ÉÈèÜ·B /usr -access=slave1.foo.com,slave2.foo.com /home -rw=slave1.foo.com,slave2.foo.com, root=slave1.foo.com,slave2.foo.com ªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªªª 8.7.2. SunOS NCAg SunOS Í NFS bNNGXgð·×Ä daemon ƵÄs¢Ü·B]ÁÄ SunOS NCAgÉGNX|[g·é{ [ÉÍA·×Ä insecure_locks ðwè·éKvª èÜ·BÚ×Í exports(5) Ì man y[ WðB