美文网首页
Samba基础

Samba基础

作者: 尛尛大尹 | 来源:发表于2018-09-07 18:20 被阅读0次

1.Samba作用

Samba是一套使用SMB(Server Message Block)协议的应用程序,通过这个协议,Samba允许Linux服务器与Windows系统之间进行通讯。Samba采用C/S模式,其工作机制是让NetBIOS(Windows网上邻居的通信协议)和SMB两个协议运行于TCP/IP通信协议上,并且用NetBEUI协议让Windows在“网上邻居”中能浏览Linux服务器。

- Samba服务只需要在Client端将Server端挂载下来即可。
- NFS仅能让Unix机器沟通
- CIFS只能让Windows机器互通

2.Samba应用

(1)分享档案与打印机服务
(2)可以提供使用者登入Samba主机时的身份认证,以提供不同身份者的个别数据
(3)可以进行Windows网络上的主机名解析(NetBIOS name)
(4)可以进行装置的分享

3.Samba服务

SAMBA 主机就使用两个 daemons 来管理这两个不同的服务:

  • smbd:Samba核心,主要负责建立Linux Samba服务器与Samba客户机之间的对话,验证用户身份并提供对文件和打印系统的访问。
  • nmbd:主要负责对外发布Linux Samba服务器可以提供的NetBIOS名称和浏览服务,使Windows用户可以在“网上邻居”中浏览Linux Samba服务器共享资源
SAMBA 每次启动至少都需要有这两个 daemons
当我们启动了 SAMBA 之后,主机系统就会启动
 137(UDP) - NetBIOS 名字服务;nmbd
 138(UDP) - NetBIOS 数据包服务
 139(TCP) - 文件共享和打印共享
 445(TCP) - NetBIOS服务在Windows 2000及以后版本使用此端口
 901(TCP) - 用于SWAT,用于网页管理Samba

samba

这个套件主要包含了 SAMBA 的主要 daemon档案 ( smbd 及 nmbd )、 SAMBA 的文
件档 ( document )、以及其它与 SAMBA 相关的[logrotate设定文件及开机预设选项等;

samba-common

这个套件则主要提供了 SAMBA 的主要设定档(smb.conf) 、 smb.conf 语法检验的[测试程序]等等;

samba-client

这个套件则提供了当 Linux 做为SAMBA Client 端时,所需要的工具指令,例如挂载 SAMBA 档案格式的执行档 smbmount等等。

4.联机模式的介绍 ( peer/peer, domain model )

SAMBA 主机依照不同的网域联机与使用者账号、密码的控管方式不同,来加以不同的类别应用。
两种最常见的局域网络的联机模式 是peer/peer 及 domain model。

  • peer/peer ( Workgroup model ) :
peer 有同等、同辈的意思!简单的来说,在局域网络里面的所有 PC 均可以在自己的计算机上面管理自己的账号与密码,同时每一部计算机也都具有独力可以执行各项软件的能力,只是由网络将各个 PC 连结在一起而已的一个架构,所以,每一部机器都是可以独立运作!
而在这样的架构下,如果有两部计算机,假设为 pc1 与 pc2 好了,那么当您要坐在 pc1 这部计算机前使用 pc1 的资源时,就必须要知道登入 pc1 的使用者名称与密码,才能够登入使用。而如果您想由 pc1 经过网络联机到 pc2 来使用 pc2 资源时,就必须要知道 pc2 的账号与密码才可以顺利的登入 pc2 ! 
这样的架构在目前小型办公室里面是最常见的。因为这十部计算机都可以独立运作,所以不会有一部计算机关掉,其它的计算机就无法工作的情况发生。

** Peer/Peer 的架构是比较适合**

 (1)小型的网域
 (2)没有需要常常进行档案数据分享的网络环境
 (3)每个使用者都独自拥有该计算机的拥有权(就是说,该计算机是使用者的,而不是公用的啦!)
  • domain model :
所谓的 domain model 概念其实也很简单,既然使用计算机资源需要账号与密码,那么我将所有的账号与密码都放置在一部主控计算机 ( Primary Domain Controller, PDC ) 上面,在我的网域里面,任何人想要使用任何计算机时,都需要在屏幕前方输入账号与密码,然后由 PDC 主机的辨识后,才给予适当的使用权限。

5.SAMBA 的执行档:

SAMBA Server 的执行档有:

testparm, smbd, nmbd, smbpasswd

SAMBA Client 的执行档:

(smbmount看版本),smbclient。

6.NetBIOS通讯协议

SAMBA是架构在NetBIOS(Network Basic Input/Output System)这个通讯协议上。NetBIOS是一个让同一网络内计算机

7.SAMBA配置文档介绍:

/etc/samba/smb.conf:

 这个就是 SAMBA 最主要的设定档。这个设定档主要的设定分为两部份,分别是 [global] 这个设定主机功能的项目,以及接下来的每个分享出去的目录的属性设定

/etc/samba/lmhosts:

主要目的在对应 NetBIOS name 与该主机名称的 IP ,事实上,他有点像是 /etc/hosts 的功能!只不过这个 lmhosts 对应的主机名称是 NetBIOS name !由于目前 SAMBA 的功能越来越强大,所以通常只要您一启动 SAMBA 时,他就能自己捉到 LAN 里面的相关计算机的 NetBIOS name 对应 IP 的信息,这个档案通常可以不用设定了! 

/etc/samba/smbpasswd:

不存在,需要自己设置使用。他是 SAMBA 预设的使用者密码对应表。当我们设定的 SAMBA 服务器是较为严密的,需要使用者输入账号与密码后才能登入的状态时,使用者的密码预设就是放置在这里咯 (您可以自行在 smb.conf 里面设定密码放置的地方及密码文件名,不过,我们这里都以预设的状态来说明 ) 。这个档案因为包含了使用者的密码,权限需要设置为600,拥有者需要是 root!

8.SAMBA命令:

SAMBA Server: testparm, smbd, nmbd, smbpasswd

SAMBA Client:smbmount,smbclient。

testparm: 查看smb.conf 是否有设定错误。

smbpasswd:规定使用者的账号与密码

smbclient:客户端查看共享文件

smbmount/mount: 来将远程主机分享的档案与目录挂载到自己的 Linux 主机上。

10.安装SAMBA

(1)查看Samba安装包
samba有各种插件提供使用

samba-4.6.2-8.el7.x86_64.rpm
samba-client-4.6.2-8.el7.x86_64.rpm
samba-client-libs-4.6.2-8.el7.i686.rpm
samba-client-libs-4.6.2-8.el7.x86_64.rpm
samba-common-4.6.2-8.el7.noarch.rpm
samba-common-libs-4.6.2-8.el7.x86_64.rpm
samba-common-tools-4.6.2-8.el7.x86_64.rpm
samba-devel-4.6.2-8.el7.i686.rpm
samba-devel-4.6.2-8.el7.x86_64.rpm
samba-krb5-printing-4.6.2-8.el7.x86_64.rpm
samba-libs-4.6.2-8.el7.x86_64.rpm
samba-pidl-4.6.2-8.el7.noarch.rpm
samba-python-4.6.2-8.el7.x86_64.rpm
samba-vfs-glusterfs-4.6.2-8.el7.x86_64.rpm
samba-winbind-4.6.2-8.el7.x86_64.rpm
samba-winbind-clients-4.6.2-8.el7.x86_64.rpm

** (2)安装**
安装全部插件
yum -y install samba*
或者只安装需要的文件
服务器端可以只安装samba
客户端可以只安装samba-client
yum -y install samba-client

(3)Selinux和防火墙

  • 1.直接关闭
关闭selinux
> set SELINUX=disabled
关闭防火墙
>systemctl stop firewalld
禁止开机自启
>systemctl disabled firewalld
  • 2.开放Samba
> setsebool -P samba_enable_home_dirs on
> setsebool -P samba_export_all_rw on
开放Samba端口
> firewalld-cmd  --permanent --add-port=137/tcp
> firewalld-cmd  --permanent --add-port=138/tcp
> firewalld-cmd  --permanent --add-port=138/tcp
> firewalld-cmd  --permanent --add-port=445/tcp
> firewalld-cmd  --permanent --add-port=901/tcp

(4)启动Samba

> systemctl start nmb
> systemctl start smb
查看smb状态
> systemctl status smb

(5)设置开机自启

> systemctl enable smb
> systemctl enable nmb

相关文章

  • Samba文件共享服务

    一、Samba服务基础 1. 服务程序包 服务端软件 samba 客户端软件 samba-client 提供服务端...

  • Samba基础

    1.Samba作用 Samba是一套使用SMB(Server Message Block)协议的应用程序,通过这个...

  • Samba服务器基础

    Samba服务器基础 Samba服务 nmbd用来管理工作组、NetBIOS name解析。利用UDP协议开启13...

  • Samba

    samba概述 samba原理 samba服务 samba的命令 samba搭建实例 使用GUI工具SWAT管理s...

  • 文件服务-SAMBA服务器

    samba服务器 samba介绍 应用场景 samba安装部署 samba配置文件详解 samba文件共享 sam...

  • 20171016 网络文件共享(三) Samba服务

    Samba服务简介Samba服务器配置Samba客户端实验一:实现Samba共享实验二:实现多用户Samba挂载 ...

  • samba共享目录

    服务端包: samba, samba-libs, samba-common ...

  • Linux中Samba文件服务

    安装samba的服务器 yum install samba 此时安装的是samba而不是samba-client,...

  • Redhat配置samba服务器

    1. 安装samba软件 一共需要安装三个软件:samba, samba-client, samba-comm...

  • ubuntu samba 配置

    1. 说明 samba 配置主要分为安装samba、配置samba、添加用户等步骤。 2. 安装samba 3. ...

网友评论

      本文标题:Samba基础

      本文链接:https://www.haomeiwen.com/subject/fwzqgftx.html