29.9 Ϊ Microsoft® Windows® ¿Í»§»úÌṩÎļþºÍ´òÓ¡·þÎñ (Samba)

Contributed by Murray Stokely.

29.9.1 ×ÝÀÀ

¡¡¡¡Samba ÊÇÒ»¸öÁ÷ÐеĿªÔ´Èí¼þ°ü£¬ ËüÌṩÁËÕë¶Ô Microsoft® Windows® ¿Í»§»úµÄÎļþºÍ´òÓ¡·þÎñ¡£ ÕâÀà¿Í»§»ú¿ÉÒÔÁ¬½Ó²¢Ê¹Óà FreeBSD ϵͳÉϵÄÎļþ¿Õ¼ä£¬ ¾ÍÈçͬʹÓñ¾µØµÄ´ÅÅÌÒ»Ñù£¬ »òÕßÏñʹÓñ¾µØ´òÓ¡»úÒ»ÑùʹÓà FreeBSD ÉϵĴòÓ¡»ú¡£

¡¡¡¡Samba Èí¼þ°ü¿ÉÒÔÔÚÄúµÄ FreeBSD °²×°ÅÌÉÏÕÒµ½¡£ Èç¹ûÄúûÓÐÔÚ³õ´Î°²×° FreeBSD ʱ°²×° Samba£¬ Ôò¿ÉÒÔͨ¹ý net/samba34 port »ò package À´°²×°¡£

29.9.2 ÅäÖÃ

¡¡¡¡Ä¬È쵀 Samba ÅäÖÃÎļþ»áÒÔ /usr/local/share/examples/samba34/smb.conf.default µÄÃû×Ö°²×°¡£Õâ¸öÎļþ±ØÐë¸´ÖÆÎª /usr/local/etc/smb.conf ²¢½øÐж¨ÖÆ£¬ ²ÅÄÜ¿ªÊ¼Ê¹Óà Samba¡£

¡¡¡¡smb.conf ÎļþÖаüº¬ÁË Samba µÄÔËÐÐʱÅäÖÃÐÅÏ¢£¬ ÀýÈç¶ÔÓÚ´òÓ¡»úµÄ¶¨Ò壬 ÒÔ¼°Ï£Íû¹²Ïí¸ø Windows ¿Í»§»úµÄ ¡°¹²ÏíÎļþϵͳ¡±¡£ Samba Èí¼þ°ü°üº¬ÁËÒ»¸ö³ÆÎª swat µÄ web ¹ÜÀí¹¤¾ß£¬ ºóÕßÌṩÁËÅäÖà smb.conf ÎļþµÄ¼òµ¥·½·¨¡£

29.9.2.1 ʹÓà Samba Web ¹ÜÀí¹¤¾ß (SWAT)

¡¡¡¡Samba Web ¹ÜÀí¹¤¾ß (SWAT) ÊÇÒ»¸öͨ¹ý inetd ÔËÐеķþÎñ³ÌÐò¡£ Òò´Ë£¬ ÐèÒª°Ñ /etc/inetd.conf ÖÐÏÂÃæ¼¸ÐеÄ×¢ÊÍÈ¥µô£¬ ²ÅÄܹ»Ê¹Óà swat À´ÅäÖà Samba£º

swat   stream  tcp     nowait/400      root    /usr/local/sbin/swat    swat

¡¡¡¡Èç Àý 29-1 ÖÐËù½éÉܵÄÄÇÑù£¬ ÔÚÐÞ¸ÄÁËÕâ¸öÅäÖÃÎļþÖ®ºó£¬ ±ØÐëÈà inetd ÖØÐ¼ÓÔØÅäÖ㬠²ÅÄÜʹÆäÉúЧ¡£

¡¡¡¡Ò»µ©ÔÚ inetd.conf ÖÐÆôÓÃÁË swat£¬ ¾Í¿ÉÒÔÓÃä¯ÀÀÆ÷·ÃÎÊ connect to http://localhost:901 ÁË¡£ Äú½«Ê×ÏÈʹÓÃϵͳµÄ root ÕʺŵǼ¡£

¡¡¡¡Ö»Òª³É¹¦µØµÇ¼½øÁË Samba ÅäÖÃÒ³Ãæ£¬ ¾Í¿ÉÒÔä¯ÀÀϵͳµÄÎĵµ£¬ »ò´Ó Globals(È«¾Ö) Ñ¡Ï¿ªÊ¼ÅäÖÃÁË¡£ Globals С½Ú¶ÔÓ¦ÓÚ [global] С½ÚÖеıäÁ¿£¬ ǰÕßλÓÚ /usr/local/etc/smb.conf ÖС£

29.9.2.2 È«¾ÖÅäÖÃ

¡¡¡¡ÎÞÂÛÊÇʹÓà swat£¬ »¹ÊÇÖ±½Ó±à¼­ /usr/local/etc/smb.conf£¬ ͨ³£Ê×ÏÈÒªÅäÖÃµÄ Samba Ñ¡Ïî¶¼ÊÇ£º

workgroup

NT ÓòÃû»ò¹¤×÷×éÃû£¬ ÆäËû¼ÆËã»ú½«Í¨¹ýÕâЩÃû×ÖÀ´ÕÒµ½·þÎñÆ÷¡£

netbios name

Õâ¸öÑ¡ÏîÓÃÓÚÉèÖà Samba ·þÎñÆ÷µÄ NetBIOS Ãû×Ö¡£ ĬÈÏÇé¿öÏ£¬ ÕâÊÇËùÔÚÖ÷»úµÄ DNS Ãû×ֵĵÚÒ»²¿·Ö¡£

server string

Õâ¸öÑ¡ÏîÓÃÓÚÉèÖÃͨ¹ý net view ÃüÁ ÒÔ¼°Ä³Ð©ÆäËûÍøÂ繤¾ß¿ÉÒԲ鿴µ½µÄ¹ØÓÚ·þÎñÆ÷µÄ˵Ã÷ÐÔÎÄ×Ö¡£

29.9.2.3 °²È«ÅäÖÃ

¡¡¡¡ÔÚ /usr/local/etc/smb.conf ÖеÄÁ½¸ö×îÖØÒªµÄÅäÖ㬠ÊÇÑ¡¶¨µÄ°²È«Ä£ÐÍ£¬ ÒÔ¼°¿Í»§»úÉÏÓû§µÄ¿ÚÁî´æ·Åºó¶Ë¡£ ÏÂÃæµÄÓï¾ä¿ØÖÆÕâЩѡÏ

security

×î³£¼ûµÄÑ¡ÏîÐÎʽÊÇ security = share ºÍ security = user¡£ Èç¹ûÄúµÄ¿Í»§»úʹÓÃÓû§Ãû£¬ ²¢ÇÒÕâЩÓû§ÃûÓëÄúµÄ FreeBSD »úÆ÷Ò»Ö£¬ Ò»°ãӦѡÔñÓû§¼¶ (user) °²È«¡£ ÕâÊÇĬÈϵݲȫ²ßÂÔ£¬ ËüÒªÇó¿Í»§»úÊ×ÏȵǼ£¬ È»ºó²ÅÄÜ·ÃÎʹ²ÏíµÄ×ÊÔ´¡£

Èç¹û²ÉÓù²Ïí¼¶ (share) °²È«£¬ Ôò¿Í»§»ú²»ÐèÒªÓÃÓÐЧµÄÓû§ÃûºÍ¿ÚÁîµÇ¼·þÎñÆ÷£¬ ¾ÍÄܹ»Á¬½Ó¹²ÏíµÄ×ÊÔ´¡£ ÕâÊǽÏÔç°æ±¾µÄ Samba ÖеÄĬÈÏÖµ¡£

passdb backend

Samba ÌṩÁËÈô¸ÉÖÖ²»Í¬µÄÑéÖ¤ºó¶ËÄ£ÐÍ¡£ Äú¿ÉÒÔͨ¹ý LDAP¡¢ NIS+¡¢ SQL Êý¾Ý¿â£¬ »ò¾­¹ýÐ޸ĵĿÚÁîÎļþ£¬ À´Íê³É¿Í»§¶ËµÄÉí·ÝÑéÖ¤¡£ ĬÈϵÄÑé֤ģʽÊÇ smbpasswd£¬ ÕâÒ²ÊDZ¾Õ½«½éÉܵÄÈ«²¿ÄÚÈÝ¡£

¡¡¡¡¼ÙÉèÄúʹÓõÄÊÇĬÈ쵀 smbpasswd ºó¶Ë£¬ Ôò±ØÐëÊ×ÏÈ´´½¨Ò»¸ö /usr/local/etc/samba/smbpasswd Îļþ£¬ À´ÔÊÐí Samba ¶Ô¿Í»§½øÐÐÉí·ÝÑéÖ¤¡£ Èç¹ûÄú´òËãÈà UNIX® Óû§ÕʺÅÄܹ»´Ó Windows ¿Í»§»úÉϵǼ£¬ ¿ÉÒÔʹÓÃÏÂÃæµÄÃüÁ

# smbpasswd -a username

×¢Òâ: Ä¿Ç°ÍÆ¼öʹÓõĺó¶ËÊÇ tdbsam£¬ ÄúӦʹÓÃÏÂÃæµÄÃüÁîÀ´Ìí¼ÓÓû§Õʺţº

# pdbedit -a -u username

¡¡¡¡Çë²Î¿¼ ¹Ù·½µÄ Samba HOWTO ÒÔÁË½â¹ØÓÚÅäÖÃÑ¡ÏîµÄ½øÒ»²½ÐÅÏ¢¡£ °´ÕÕÇ°Ãæ¸ø³öµÄ»ù±¾ÃèÊö£¬ ÄúÓ¦¸ÃÒѾ­¿ÉÒÔÆô¶¯ Samba ÁË¡£

29.9.3 Æô¶¯ Samba

¡¡¡¡net/samba34 port »áÔö¼ÓÒ»¸öеÄÓÃÓÚ¿ØÖÆ Samba µÄÆô¶¯½Å±¾¡£ ÒªÆôÓÃÕâ¸ö½Å±¾£¬ ÒÔ±ãÓÃËüÀ´Íê³ÉÆô¶¯¡¢ Í£Ö¹»òÖØÆô Samba µÄÈÎÎñ£¬ ÐèÒªÔÚ /etc/rc.conf ÎļþÖмÓÈ룺

samba_enable="YES"

¡¡¡¡´ËÍ⣬ Ò²¿ÉÒÔ½øÐиüϸÁ£¶ÈµÄ¿ØÖÆ£º

nmbd_enable="YES"
smbd_enable="YES"

×¢Òâ: ÕâҲͬʱÅäÖÃÁËÔÚϵͳÒýµ¼Ê±Æô¶¯ Samba¡£

¡¡¡¡ÅäÖúÃÖ®ºó£¬ ¾Í¿ÉÒÔÔÚÈκÎʱºòͨ¹ýÏÂÃæµÄÃüÁîÀ´Æô¶¯ Samba ÁË£º

# /usr/local/etc/rc.d/samba start
Starting SAMBA: removing stale tdbs :
Starting nmbd.
Starting smbd.

¡¡¡¡Çë²Î¼û µÚ 11.7 ½Ú ÒÔÁË½â¹ØÓÚʹÓà rc ½Å±¾µÄ½øÒ»²½ÐÅÏ¢¡£

¡¡¡¡Samba ÊÂʵÉϰüº¬ÁËÈý¸öÏ໥¶ÀÁ¢µÄ·þÎñ³ÌÐò¡£ ÄúÓ¦¸ÃÄܹ»¿´µ½ nmbd ºÍ smbd Á½¸ö·þÎñ³ÌÐò¶¼ÊÇͨ¹ý samba ½Å±¾Æô¶¯µÄ¡£ Èç¹ûÔÚ smb.conf ÖÐÆôÓÃÁË winbind Ãû×Ö½âÎö·þÎñ£¬ ÔòÓ¦¸Ã¿ÉÒÔ¿´µ½ winbindd ·þÎñ±»Æô¶¯ÆðÀ´¡£

¡¡¡¡¿ÉÒÔÔÚÈκÎʱºòͨ¹ýÏÂÃæµÄÃüÁîÀ´Í£Ö¹ÔËÐÐ Samba£º

# /usr/local/etc/rc.d/samba stop

¡¡¡¡Samba ÊÇÒ»¸ö¸´ÔÓµÄÈí¼þ°ü£¬ ËüÌṩÁËÓÃÓÚÓë Microsoft Windows ÍøÂç½øÐм¯³ÉµÄ¸÷ʽ¸÷ÑùµÄ¹¦ÄÜ¡£ ÒªÁË½â¹ØÓÚÕâÀïËù½éÉܵĻù±¾°²×°ÒÔÍâµÄÆäËü¹¦ÄÜ£¬ Çë·ÃÎÊ http://www.samba.org¡£

±¾ÎĵµºÍÆäËüÎĵµ¿É´ÓÕâÀïÏÂÔØ£ºftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Èç¹û¶ÔÓÚFreeBSDÓÐÎÊÌ⣬ÇëÏÈÔĶÁÎĵµ£¬Èç²»Äܽâ¾öÔÙÁªÏµ<questions@FreeBSD.org>.
¹ØÓÚ±¾ÎĵµµÄÎÊÌâÇë·¢ÐÅÁªÏµ <doc@FreeBSD.org>.