实验环境: Red Hat Enterprise Linux Server 5.4

          Samba文件共享服务器IP 192.168.0.1

          客户端IP 192.168.0.2

一、            安装5个软件包(至少安装前三个软件包)

Samba-3.0.33-3.14.el5.i386.rpm

Samba-client-3.0.33-3.14.el5.i386.rpm

Samba-common-3.0.33-3.14.el5.i386.rpm

Ststem-config-samba-1.2.41-5.el5.noarch.rpm

Samba-swat-3.0.33-3.14.el5.i386.rpm

二、            Smb.conf文件常见配置项及含义说明

配置项

说明

workgroup

设置服务器所在工作组 如 WORKGROUP

server string

设置服务器的说明文字,用于描述samba服务

security

设置服务器安全级别 share 匿名访问,user验证用户名密码,server由别一台服务器验证用户名密码,domainwindows域控制器验证用户名密码

log file

设置服务器日志文件 默认 /var/log/samba/%m.log

max log size

设置日志文件容量,默认为50KB

comment

设置对应目录的注释说明

path

设置对应共享目录在服务器的文件夹路径

browseable

设置该共享目录是否在网上邻居可见

guest ok

设置是否所有人都可以访问共享目录,与public作用相同

writable

设置共享目录是否可写,与read only 作用相反

valid users

设置允许访问的用户或组

如:tom  @tom(组用@表示)

write list

设置允许用户写入权限

directory mask=0744

建立文件夹默认权限

create mask=0600 

建立文件默认权限

username map

指定用户名映射文件map=/etc/samba/smbusers

hosts allow

允许访问的地址

hosts deny

拒绝访问的地址

三、            建立可匿名访问的共享目录

1.                  配置Smb.conf 发布共享文件夹/var/public/movies 共享名为movie

#mkdir  -p  /var/public/movies    //建立共享目录

#vim   /etc/samba/smb.conf

[global]

      workgroup = WORKGROUP        //windows主机同一默认工作组

      server string = Samba Server

      security = share                          //设置服务器安全级别为匿名访问

      passdb backend = tdbsam

      load printers = yes

      cups options = raw

[homes]

      ………..

[printers]

      …………

[movie]

comment=Public share with movie files

path=/var/public/movies

public=yes

read only=yes

2.                  #service  smb  restart 重启服务

3.                  #chkconfig  smb  on

四、            建立带验证的文件共享

1.                  建立samba用户数据库

#useradd  vina

#smbpasswd  –a vina (添加用户vinasmb用户)

#chmod  777  /var/public/movies (设置文件夹读写执行权限)

2.                  更改smb.conf配置文件 添加用户授权设置

[global]

            workgroup = WORKGROUP

             server string = Samba Server

              security = user

              passdb backend = tdbsam

              load printers = yes

              cups options = raw

      …………

[movie]

comment=Public share with movie files

path=/var/public/movies

public=yes

writable=no                              //拒绝所有人可写

valid users=vina, @root           //设置合法访问者

write list=root                          //设置允许用户写入权限

directory mask=0744               //建立文件夹默认权限

create mask=0600                   //建立文件默认权限

3.                  #service  smb  restart   重启服务

4.                  Samba 用户vina设置到名称为player的映射

#vim /etc/samba/smbusers 

vina=player

5.                  添加客户端地址授权设置

#vim  /etc/sambs/smb.conf 在全局配置中添加

username map=/etc/samba/smbusers  //指定映射文件

hosts allow=192.168.0.                          //指定访问服务器网段

hosts deny=172.16.0.                               //拒绝访问服务器网段