Samba是著名的开源软件项目之一,它在Linux/UNIX系统中实现了微软的SMB/CIFS网络协议,使得跨平台的文件共享变得更加容易。在部署Windows、Linux/UNIX混合平台的企业环境时,选用Samba可以很好的解决在不同系统之间的文件互访问题。


今天,让我们尝试在Redhat上搭建smaba服务,并且通过Win7作为客户端去使用samba服务的不同功能。


  • 部署Samba服务(匿名共享访问、本地用户访问、虚拟用户访问):


)安装软件包:

rpm -ivh /mnt/Packages/samba-3.6.9-164.el6.x86_64.rpm


1)匿名共享访问:


编辑配置文本,添加匿名共享参数

vim /etc/samba/smb.conf         ##修改主配置文件
    security = share     ##修改为"share"匿名共享
    
        ##在行尾添加下面的参数
        [share]
        path = /opt/abc     ##"指定文件路径"
        public = yes            //yes/no
        browseable = yes      ##访问权限
        writable = yes          ##写权限  
        create mask = 0644   ##文件权限
        directory mask = 0755   ##目录权限


创建目录并设置权限,关闭防火墙,开启服务

mkdir /opt/abc
chmod 777 /opt/abc
service iptables stop
setenforce 0
service smb start


关闭防火墙,尝试用Win7访问

在Linux上搭建Samba服务器,用于与Windows之间的跨平台文件共享_Windows


2)本地用户访问:


编辑配置文本,添加本地用户访问参数

vim /etc/samba/smb.conf         ##修改主配置文件
   security = user      ##设置参数为用户登录
        ##在行尾添加下面的行
        [wzn]
        path = /opt/wzn    ##指定文件路径
        browseable = yes    ##访问权限
        create mask = 0644    ##文件权限
        directory mask = 0755    ##目录权限
        valid users = wzn,wzn1    ##指定用户可以登录访问
        write list = wzn      ##指定用户可以写入


设置本地用户的密码

smbpasswd -a XX(用户名)       ##仅对登录samba的用户进行设置密码

pdbedit -L      ##查看所有Samba用户


重启服务,在Win7宿主机上使用wzn用户进行登录。

在Linux上搭建Samba服务器,用于与Windows之间的跨平台文件共享_Windows_02


3)虚拟用户访问:

为本地用户wzn设置虚拟映射账户"1"、"2"、"3",可以用映射账户登录Samba服务

vim /etc/samba/smbusers       ##编辑虚拟映射用户文件
##在行尾下添加新的行
wzn = 1 2 3                  #wzn用户的登录虚拟映射用户为"1"."2"."3"


编辑samba的配置文件,把新添加的配置文件添加进去使其生效

vim /etc/samba/smb.conf
##找到下面的行,并在行下插入一行
        security = user
        passdb backend = tdbsam
        username map = /etc/samba/smbusers    ##添加此行


此时我们在登录的时候,可以通过设置的虚拟映射用户直接登录,密码为真实用户的密码。

在Linux上搭建Samba服务器,用于与Windows之间的跨平台文件共享_Samba_03