FreeBSD 研习课程讲义
Prev 网路芳邻 samba Next

安装与设定 samba

1.ports 安装:
cd /usr/ports/net/samba

make install;make clean


要记得选取 syslog 才能支援 log记录。记录档会放在:
/var/log/log.smbd
/var/log/log.nmbd

2.samba的设定:

设定档为 /usr/local/etc/smb.conf,内容相当的繁多且复杂,如要自己凭空重头写起,的确蛮困难的,所以通常的作法是使用套件 本身所提供的范例档来加以修改,而范例档通常为 /usr/local/etc//smb.conf.default,作法如下:

cd /usr/local/etc
cp smb.conf.default smb.conf
vi smb.conf

smb.conf组态档内容可以分成二大部分

global settings:定义整个 samba server 的基本设定和所有共享资源的共同设定。

share definitions:定义一些分享区段,如 [homes]、[printers] 及其他共享的目录的设定。

范例叁考:

在FreeBSD上建立 /home/samba 资料夹,并将其分享出来。让这个资料夹对一般使用者(nobody)而言是唯读的,也可以设定开放写入的权限。另外除了将 Freebsd 模拟成windows上的网路芳邻外,每位User都能直接存取自己的家目录。
ps:设定时分号要记得拿掉,修改成如同红色

global settings:


[global]                                             [global]                  
; workgroup =                                        workgroup = linux 
; hosts allow = 192.168.1. 192.168.2. 127.           hosts allow = 192.168.168.
; encrypt passwords = yes                           encrypt passwords = yes
# for Traditional Chinese Users                     # for Traditions Chinese Users
; client code page=950                              client code page = 950
; coding system=cap                                 coding system = cap

share definitions:

[homes]                                             #这部分是预设的 Users 设定
comment = Home Directories
browseable = no
writable = yes

;[public]                                            [public]
; comment = Public Stuff                             comment = Public Stuff
; path = /home/samba                                 path = /home/samba
; public = yes                                       public = yes
; writeable = yes                                    ;writeable =  no    #这里可以设定写入的权限。
; printable = no                                     ; printable = no
; write list = @staff                                ; write list = @staff

测试 smb.conf 设定:
    smb.conf 的档案修改完成后,可以使用 testparm 这个小程式来测试设定是否正确,测试的指令如下:
      
testparm

3.Samba 服务的启动及停止:

1.启动:

/usr/local/sbin/smbd -D
/usr/local/sbin/nmbd -D
或者
mv /usr/local/etc/rc.d/samba.sh.sample /usr/local/etc/rc.d/samba.sh
/usr/local/etc/rc.d/samba.sh start

2.停止

killall smbd
killall nmbd


4.Samba 的帐号、密码管理:

Samba 的帐号和 OS 的帐号是分开管理,但如果要建立 Samba Server 上的帐号,则必需在 OS 上也有此帐号,假使 Samba Server 是加入 NT Domain,可以将帐号及密码的验证工作交由 NT PDC 处理,其他的情况则需建立 Samba Server 帐号及密码。

Samba帐号的主要设定档:/usr/local/private/smbpasswd
Samba帐号、密码管理的指令:smbpasswd -a UserName Passwd

/usr/local/private/smbpasswd,这个档案主要是记录 Samba server 的帐号及密码的资料,而密码的编码方式是采用和 Windows 网域认证一样的编码方式,因此 Samba 才需要独立出来自己做自己的帐号管理。

新增 samba 帐号:

smbpasswd -a UserName Passwd      #UserName代表帐号名称;Passwd代表给予的密码

这样即可建立一组 samba 帐号和密码。

修改密码:

smbpasswd UserName                    # 会要求你重新输入密码

5.浏览、使用网路芳邻资源:

Windows端:利用"网路上的芳邻"来连接 Samba Server 存取 Samba Server 分享的资源,和平常一样直接点选主机名称的资源即可使用。

Freebsd端:利用 smbclient 这个指令来存取 Samba server 端分享的资源,也可以存取 windows端分享出来的资源。

smbclient -L <localhost or hostname>               #列出这台主机分享了哪些资源目录

smbclient //<hostname>/<share_dir> -U <username>  #利用smbclient 存取资料,和 ftp 原理一样。连上对方主机后会出现                                                       "smb:\>"的提示符号,可以在提示符号下 help 来看看有什麽指令可以使                                                          用。
smb:\> help

6.察看 Samba Server 状况

要如何查看 Samba Server 目前分享的状况,那就是使用 smbstatus 这个指令。另外我们有设定 log 档的功能,这也是查看分享状况的分法之一。

smbstatus

叁考文章:


Prev Home Next
UP 网路档案系统 NFS