Linux下搭建samba服务器-释然

Linux下搭建samba服务器

释然

samba简介

1,什么是samba:

samba是一个能让你的Unix计算机和其它MS Windows计算机相互共享资源的软件。samba提供有关资源共享的三个功能,包括:smbd,执行它可以使Unix能够共享资源给其它的计算机;而smbclient就是让Unix去存取其它计算机的资源;最后一个smbmount,则是类似MS Windwos 下“网络磁盘驱动器”的功能,可以让你把其它计算机的资源挂在自己的档案系统下。它们功能虽然简单,但没有samba,Unix和Windows的资源就很难共享。samba的功能十分实用,虽然没用亮丽的外表,但在局域网络中,它的确是一个很重要的工具。

2,SMB协议:

SMB(ServerMessage Block,服务信息块)协议可以看作是局域网上的共享文件/打印机的一种协议,它可以为网络内部的其它Windows和Linux机器提供文件系统、打印服务或是其他一些信息。

SMB的工作原理是让NetBIOS(Win95网络邻居通信协议)与SMB这两种协议运行在TCP/IP的通信协议上,且使用NetBIOSnameserver让用户的Linux机器可以在Windows的网络邻居里被看到,所以就可以和Win95/NT主机在网络上相互沟通,共享文件与服务了。

目前Microsoft正在开发一种新的文件和打印共享协议–CIFS(Common Internet FilesSystem,通用网络文件协议),该协议支持TCP/IP和DNS 等协议,能在www上支持文件和打印共享。在CIFS下服务器实际上是DNS名,由主机名和域名组成。这种变化是从NetBIOS命令结构中分离出来的。目前CIFS还没有得到广泛的应用。现在在Linux和Win95/NT之间的文件共享注意还是SMB和NFS。

3,samba 的主要功能

(1)提供Windows NT风格的文件和打印机共享Windows7、Windows8、Windows 10等依据此共享UNIX等其他操作系统的资源,外表看起来和共享文件夹 的资源没有区别。

(2)解析NetBIOS名字IP在Windows网络中,为了能够利用网上资源,同时自己的资源也能被别人所利用;各个主机都定期地向网上广播自己的身份信息。而负责收集这些信息,为别的主机;提供检索情报的服务器就被称为浏览服务器.Samba 可以有效地完成这项功能在跨越网关的时候Samba还可以作WINS服务器使用。

(3)提供SMB客户功能利用Samba提供的smbclint程序可以从UNIX下以类似于FTP的方式访问Windows的资源。

(4)备份PC上的资源利用一个叫smbtar的shell脚本,可以使用tar格式备份和恢复一台远程Windows上的共享文件。

(5)提供一个命令行工具,在其上可以有限制地支持NT的某些管理功能。

系统环境

Linux下搭建samba服务器-释然-大江博客

Linux下搭建samba服务器-释然-大江博客

Linux下搭建samba服务器-释然-大江博客

安装步骤

1、安装samba

在可以联网的机器上使用yum工具安装,如果未联网,则挂载系统光盘进行安装。

#  yum install samba  samba-client samba-swat

Linux下搭建samba服务器-释然-大江博客

有依赖关系的包samba-common、samba-winbind-clients、libsmbclient将自动安装上去。

2、查看安装状况

Linux下搭建samba服务器-释然-大江博客


3、安装包说明

  • samba-common-3.5.10-125.el6.x86_64              
    //主要提供samba服务器的设置文件与设置文件语法检验程序testparm
  • samba-client-3.5.10-125.el6.x86_64                   
    //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集
  • samba-swat-3.5.10-125.el6.x86_64                  
    //基于https协议的samba服务器web配置界面
  • samba-3.5.10-125.el6.x86_64                          
    //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替,开机默认选项

    Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。

4、启动samba的服务器
通过/etc/init.d/smb start/stop/restart来启动、关闭、重启Samba服务,启动SMB服务如下所示:

Linux下搭建samba服务器-释然-大江博客

5、查看samba的服务启动情况

Linux下搭建samba服务器-释然-大江博客

6、设置开机自启动

# chkconfig –level 35 smb on   //在3、5级别上自动运行samba服务

Linux下搭建samba服务器-释然-大江博客

7、配置smb账号

# useradd username

# passwd userpasswd

# smbpasswd -a username /*windows客户端登陆的用户名跟密码*/

8、配置smb服务

假设公司现有一个工作组workgroup,需要添加samba服务器作为文件服务器,并发布共享目录/share,共享名为public,此共享目录允许所有员工访问。

a. 修改samba的主配置文件如下:
#======================= Global Settings =====================================

[global]                                                  //该设置与Samba服务整体运行环境有关,它的设置项目针对所有共享资源

# ----------------------- Network Related Options -------------------------
#
# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
#
# server string is the equivalent of the NT Description field
#
# netbios name can be used to specify a server name not tied to the hostname

        workgroup = WORKGROUP                             //定义工作组,也就是windows中的工作组概念
        server string = David Samba Server Version %v     //定义Samba服务器的简要说明
        netbios name = DavidSamba                         //定义windows中显示出来的计算机名称

# --------------------------- Logging Options -----------------------------
#
# Log File let you specify where to put logs and how to split them up.

        log file = /var/log/samba/log.%m       //定义Samba用户的日志文件,%m代表客户端主机名
                           //Samba服务器会在指定的目录中为每个登陆主机建立不同的日志文件
# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)

        security = share                      //共享级别,用户不需要账号和密码即可访问

#============================ Share Definitions ==============================

[public]                        //设置针对的是共享目录个别的设置,只对当前的共享资源起作用
        comment = Public Stuff              //对共享目录的说明文件,自己可以定义说明信息
        path = /share                      //用来指定共享的目录,必选项
        public = yes                      //所有人可查看,等效于guest ok = yes
b. 建立共享目录

上面设置了共享目录为/share,下面就需要建立/share目录:

Linux下搭建samba服务器-释然-大江博客

由于要设置匿名用户可以下载或上传共享文件,所以要给/share目录授权为nobody权限。

Linux下搭建samba服务器-释然-大江博客

c. 重启smb服务

Linux下搭建samba服务器-释然-大江博客

d. 测试smb.conf配置是否正确

Linux下搭建samba服务器-释然-大江博客

e. 访问Samba服务器的共享文件
  • 在Linux下访问Samba服务器的共享文件

Linux下搭建samba服务器-释然-大江博客

  • 在windows下访问Samba服务器的共享文件

Linux下搭建samba服务器-释然-大江博客

如果您喜欢我的文章,请长按以下图片关注我的公众号,学习Linux的路上,期待与您同行。

 

作者微信公众号

Linux下搭建samba服务器-释然-大江博客

未经作者允许不得转载:大江博客 » Linux下搭建samba服务器-释然
博主微信:欢迎加微一起交流
欢迎加微一起交流,每天分享更多有趣的事儿,有趣有料!
2000人已加
分享到:
赞(0)