1、安装samba服务器软件
查看系统当前已安装的Samba组件:
 rpm -qa | grep samba
插入RHEL5的系统光盘,挂载并查看与samba相关的软件包:
 挂载光盘:
 mount /dev/cdrom /media/
 查看与samba相关的软件包:
 ls /media/Server/*samba*
安装samba服务器软件,至少要安装三个包:samba、samba-client、samba-common,这样就可以实现samba服务器和客户端的基本功能:
rpm -ivh /media/Server/samba-client-3.0.33-3.14.el5.i386.rpm
rpm -ivh /media/Server/samba-common-3.0.33-3.14.el5.i386.rpm
rpm -ivh /media/Server/perl-Convert-ASN1-0.20-1.1.noarch.rpm
rpm -ivh /media/Server/samba-3.0.33-3.14.el5.i386.rpm

2、查看安装的目录和文件
   rpm -ql samba
   rpm -ql samba-client

   /etc/samba      配置文件存放主目录
   /etc/samba/smb.conf    主配置文件
   /etc/samba/smbpasswd    samba帐户文件
   /etc/samba/lmhosts      用户netbios解析的配置文件
   /etc/pam.d/samba     samba的PAM配置文件
   /etc/rc.d/init.d/smb   启动脚本文件
   /etc/samba/smbusers   samba用户映射
   /usr/bin/smbstatus    可以查看samba服务器的连接状态信息
   /usr/sbin/nmbd      samba应用程序
   /usr/sbin/smbd      samba应用程序
   /usr/bin/smbclient     samba客户端访问工具
   /usr/bin/smbmount      samba客户端挂载工具

3、samba服务器的控制
   启动samba服务:
   service smb start
   查看后台运行的smbd和nmbd这两个进程:
   ps -aux | grep [sm,nm]bd

4、查看samba服务器的主配置文件的有效配置清单
 grep -v "^#" /etc/samba/smb.conf | grep -v "^;" | grep -v "^$"

################################分割线 samba用户帐号###########################
实验案例一:创建samba用户帐号,测试homes共享
(1) 建立samba用户帐户
      useradd 用户名
      passwd 用户名
      smbpasswd -a 用户名
          重点:
              smbpasswd命令
              smbpasswd -a   建立
              smbpasswd -d   禁用
              smbpasswd -e   启用
              smbpasswd -x   删除
(2) 通过客户端访问samab服务器  UNC路径
(3) 在客户端通过新建立的samba用户帐户登陆samba服务器进行测试
(4) 结果:用户访问是自己的宿主目录


################################分割线 建立可匿名访问的文件共享###########################
实验案例二:修改samba服务器的安全级别
(1) 修改主配置文件smb.conf
vi /etc/samba/smb.conf
security=share 
netbios name=NETBIOS
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
   性能优化 参数,必须存在,可根据内存和缓存对此变量进行修改
(2)重新启动smb服务
service smb restart
(3)在客户端通过UNC路径测试
  结果:匿名用户可访问samba文件共享服务器


################################分割线 建立公共目录(建立文件服务器共享目录) 课后案例一###########################
(1) 创建需要共享的目录
mkdir -p /var/share             
cd /var/share
mkdir public training devel
chown root.benet devel
chmod 775 devel
ls -ld devel
(2) 建立相关系统用户、组并添加samba用户
useradd yun01   添加普通员工账户yun01
groupadd tech    添加技术组tech
groupadd benet   添加项目组benet
useradd -g tech tec01
useradd -g benet -G tech ben01
smbpasswd -a yun01
smbpasswd -a tec01
smbpasswd -a ben01
smbpasswd -a root
(3) 用户映射
vi /etc/samba/smbusers
  root = admin         确认有root->admin的名称映射
(4) 修改smb.conf配置文件,添加共享设置
vi /etc/samba/smb.conf
[global]
security = share    确认有该项
username map = /etc/samba/smbusers   确认有该项
[public]
comment = public directory
path = /var/share/public
public = yes
read only = yes
[peixun]
comment = technical information
path = /var/share/training
public = no
read only = yes
valid users = root,@tech
[kaifa]
comment = development data
path = /var/share/devel
public = no
read only = no
valid users = root,@benet,@tech
write list = root,@benet
directory mask = 0774
creat mask = 0660
(5) 重启smb服务
service smb restart
(6) 验证实验效果
分别使用samba用户yun01、tec01、ben01、admin及匿名用户登录,对共享目录进行验证
说明:
   使用windows客户端验证,每次切换用户需要执行命令net use * /delete
   清除连接缓存。


5、使用samba客户端工具
      方法一:
           smbclient工具
          1、smbclient -L 192.168.100.1
             查看共享资源(默认用户:匿名)
 
          2、smbclient -L 192.168.100.1 -U samba用户名

          3、smbclient //192.168.100.1/gongxiang

          4、smbclient工具可以使用?查看所有的smbclient命令

      方法二:
           smbmount工具
          1、在client上建立一个挂载的目录
             mkdir /file
          2、smbmount //192.168.100.1/gongxiang  /file
             可以实现把远端的samba服务器的共享资源挂载到本地
          3、smbumount 挂载点
 

      方法三:
           mount命令
          
           mount -t smbfs //192.168.100.1/gongxiang /file
           umount /file

      方法四:
           修改/etc/fstab配置文件
           vi /etc/fstab
//192.168.100.1/gongxiang   /file               smbfs   defaults         0 0
  

################################分割线 在图形界面下安装和使用swat###########################
(1) 安装swat
    ls /media/Server/*swat*
    rpm -ivh /media/Server/samba-swat-3.0.33-3.14.el5.i386.rpm
(2) 修改xinetd配置文件,允许客户端访问,否则仅允许本地访问
    vi /etc/xinetd.d/swat
    修改项目:only_from       = 127.0.0.1
    设置允许访问的客户端IP地址

    重新启动xinetd服务
    service xinetd restart
(3) 在客户端通过浏览器访问:
    http://192.168.100.1:901