前言 SAMBA是一种能把 FreeBSD 的目录开放给Microsoft Windows 95/98/NT 利用网路芳邻方式存取的软体集。其实并不只针对 FreeBSD, 其它UN*X 也都可以使用,这对工作平台大部分时间是Microsoft family的人 在存取档案上,会是个比较方便的选择。 安装SAMBA 2.0.6 1.先以 root 身份 login,切换至/usr/ports/net/samba 准备安装SAMBA。 安装时只要在 SAMBA 的目录下执行 make install 即可 # root@ohaha[~] cd /usr/ports/net/samba/ # root@ohaha[/usr/ports/net/samba] make install 若无出现错误讯息则是安装完成,你可顺手将安装过程中解开的source清掉。 # root@ohaha[/usr/ports/net/samba] make clean 设定 SAMBA (smb.conf) 在安装完 SAMBA 後,它会放一份设定档例在/usr/local/etc 下, 先将例一份来修改成我们要的设定。 # root@ohaha[~] cd /usr/local/etc/ # root@ohaha[/usr/local/etc] cp smb.conf.default smb.conf sam.conf.default是设定 SAMBA 的例档,真正读取的预设是 smb.conf, 为了保留原始的例档以供日後参考用,所以我们用 cp 的方式出设定档, 大致浏览过 smb.conf 後发现,它主要分成三大设定区,[globe]、[homes]、 [printers],我没有印表机,所以没机会试[printers]相关部分。 我开 SAMBA 的目地是为了方便存取管理 ftp 并使用该台 FreeBSD 上 的硬碟空间,所以等会设定档的最终目地便是开出一个分享目录 ftp, 无须密码,但只允许我的工作机器去存取它。 在 smb.conf 中,所有的#和;都是解。#後接的是说明, ;後接的是指令,预设不打开该项设定,若想让它生效把分号拿掉即可。 以下只引出我有动过的地方,没提出的就是保留预设值。 #======================= Global Settings ===================================== [global] # workgroup = NT-Domain-Name or Workgroup-Name, eg: REDHAT4 # 设定所在工作群组 workgroup = center # server string is the equivalent of the NT Description field # 该主机的解 server string = blah~ # This option is important for security. It allows you to restrict # connections to machines which are on your local network. The # following example restricts access to two C class networks and # the "loopback" interface. For more examples of the syntax see # the smb.conf man page # 允许连线的主机,允许 163.16.1.99 和 127.*.*.* 连线 hosts allow = 163.16.1.99 127. # If you want to automatically load your printer list rather # than setting them up individually then you'll need this # 我没有 printer ,所以有关 printer 的都会关掉 ; load printers = yes # Uncomment this if you want a guest account, you must add this to /etc/passwd # otherwise the user "nobody" is used # 这里设定免密码的帐号,你设什麽帐号,连进来的 client就是那个身份,了吗? # 所以我把这儿改成 ftp 这个帐号,因为我 share 出来的目录 owner 是 ftp # 这样我才能以免密码又是 ftp 的身份对目录有完整的存取权。 # 不过记得,这儿填的帐号必须存在 /etc/passwd 中,否则会以 nobody 的身份签入。 guest account = ftp # this tells Samba to use a separate log file for each machine # that connects # 把 log 建个目录来放比较整齐,记得去 mkdir /var/log/samba 这个目录。 log file = /var/log/samba/log.%m # Security mode. Most people will want user level security. See # security_level.txt for details. # 设定安全层级,若要不用密码分享的话就要设成 share ,若设 user 的话会要求密码。 # 详情请见 docs/security_level.txt security = share # You may wish to use password encryption. Please read # ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation. # Do not enable this option unless you have read those documents # 我的目的是不用密码存取,所以这项开不开都没影响,但若你想用密码来控制存取权限时, # 请记得将此项打开,因为...详见 docs/ENCRYPTION.txt, Win95.txt 和 WinNT.txt。 ; encrypt passwords = yes # for Traditional Chinese Users # 若你想看到中文目录、档名的话,把 client code page=950 前的分号拿掉, # 注意,coding system 那项留着别打开它,两个都打开的话反而会看不到中文 client code page=950 ; coding system=cap #============================ Share Definitions ============================== # 接下来这一段就是 [homes] 和 [printers] 以及其它任何你想 share 出来的目录设定 # 区,我把 [homes] 也 mark 起来了,因为我不想 share 任何 home 出来。 ;[homes-%U] ; comment = Home Directories ; path = /home/%U ; user = %U ; browseable = no ; writeable = yes # ftp # 我加了这段,将 ftp 的目录开分享。一开始我们看到的 [ftp] 就是你分享出来的目录 # 在 95/98/NT 中会看到的资料夹名称,path 指向欲 share 目录的绝对路径, # public = yes 是指定这个分享不须密码,writeable = yes 是指可对该分享做写入动作 # 注意一点,当有 public = yes 这行时,对该分享存取的身份就是之前在 [globe] 区, # 我们所设定 guest account 的身份,若刚刚 guest account 没改成 ftp,那麽现在 # 即使有设 writeable = yes 也会因为 owner 不对而无法写入。 [ftp] path = /home/ftp public = yes writeable = yes 启动 SAMBA 在安装完 SAMBA 後,它丢了个启动的 script 在 /usr/local/etc/rc.d/, 档名是 samba.sh.sample,将之更名并 chmod 成可执行。 # root@ohaha[/usr/local/etc/rc.d] mv samba.sh.sample samba.sh # root@ohaha[/usr/local/etc/rc.d] chmod 750 samba.sh 你现在可以重新开机或者手动执行 samba.sh 来启动 SAMBA。 # root@ohaha[~] /usr/local/etc/rc.d/samba.sh 测试 SAMBAuh...接下来的不用说了吧,赶快用 95/98 的网路芳邻看看是否能成功 看到并存取分享出来的目录。 |