samba概念和功能
Samba 是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件。后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样以来,使得Samba具有了更强大的功能。
Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。
SMB是基于客户机/服务器型的协议,因而,一台Samba服务器既可以充当文件共享服务器,也可以充当一个Samba的客户端,例如,一台在Linux 下已经架设好的Samba服务器,windows客户端就可以通过SMB协议共享Samba服务器上的资源文件,同时,Samba服务器也可以访问网络中其它windows系统或者Linux系统共享出来的文件。
Samba在windows下使用的是NetBIOS协议,如果你要使用Linux下共享出来的文件,请确认你的windows系统下是否安装了NetBIOS协议。
Samba的安装与配置
我们的系统环境是:
操作系统:
1.执行命令( lsb_release -a)
Red Hat Enterprise Linux Service release 6.4 Beta(Santiago)
Samba服务器IP地址:9.186.9.251
Samba版本:samba-3.6.9
1.安装samba
几乎所有的Linux发行版本中都默认自带了samba软件包,登陆系统,检查是否安装了Samba软件,执行如下操作:
[root@localhost ~]# rpm -q samba
samba-3.0.23c-2
如果有显示,表示系统已经安装了Samba,如果没有任何显示,请到系统光盘找到对应的Samba软件包,然后进行安装。
Samba的安装很简单,安装过程如下:
[root@webserver ~]# rpm -ivh samba-3.0.23c-2.i386.rpm
warning: samba-3.0.23c-2.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:samba ########################################### [100%]
Samba服务器安装完毕,会生成配置文件目录/etc/samba和其它一些samba可执行命令工具,/etc/samba/smb.conf是samba的核心配置文件,/etc/init.d/smb是samba的启动/关闭文件。
2.Samba服务的组成与使用
组成Samba运行的有两个服务,一个是SMB,另一个是NMB;SMB是Samba 的核心启动服务,只有SMB服务启动,才能实现文件的共享,而NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件。
例如,某台Samba服务器的IP地址为192.168.60.231,对应的工作组名称为ixdba,那么在Windows的IE浏览器输入下面两条指令都可以访问共享文件。其实这就是Windows下查看Linux Samba服务器共享文件的方法。
\\192.168.60.231\共享目录名称
\\ixdba\共享目录名称
可以通过/etc/init.d/smb start/stop/restart来启动、关闭、重启Samba服务,启动SMB服务如下所示:
[root@localhost Linuxdata]# /etc/init.d/smb start
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
从启动的输出中,可以看出,SMB的启动包含了SMB和NMB两个服务。
那么在Linux作为客户端时,查看其它Linux Samba服务器共享的文件时,应该如何操作呢,这就要用到smbclient这个工具。系统默认自带了这个命令。Smbclient常见用法介绍如下。
(1)查看Samba服务器的共享资料
Smbclient –L //Samba服务器的ip地址 -U Samba用户名
“-L”即为list的含义,“-U”是user的意思,如果Samba服务器是无密码访问的话,可以省略“-U Samba用户名”。
例如:samba需要密码登陆时,查看共享方法如下:
[root@web ~]# smbclient -L //192.168.60.231/Linuxdata –U admin
Password: 在这里输入admin的密码。
Samba无密码访问时,执行如下命令:
[root@web ~]# smbclient -L //192.168.60.231/Linuxdata
Password: 直接回车即可。
3.核心配置文件smb.conf
执行命令:
1)vim /etc/samba/smb.conf
编辑完之后:wq保存。
2)输入命令(testparm)查看编辑结果。
[global]
workgroup = WINDOWS
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
idmap config * : backend = tdb
create mask = 0777
force create mode = 0777
force security mode = 0777
directory mask = 0777
force directory mode = 0777
force directory security mode = 0777
hosts allow = 127., 9.123., 9.186.9.
cups options = raw
[homes]
comment = Home Directories
valid users = %S
read only = No
create mask = 0700
directory mask = 0700
browseable = No
对上面每行解释如下:
? “[global]”表示以下的内容为全局配置,必须要有。
? “workgroup“用来定义工作组,也就是windows中的工作组概念,这里设置为IXDBA.NET。
? “netbios name”用来定义windows中显示出来的计算机名称。
? “server string”用来定义Samba服务器的说明信息,可以随便指定!
? “log file”用来定义Samba用户的日志文件,%m代表客户端主机名,Samba服务器会在指定的目录中为每个登陆主机建立不同的日志文件。
? “security”用来定义数据共享的方式,此选项有多个可选值,常用的有user和share,user表示需要密码验证后才能共享数据,share表示可以直接共享数据,无需输入密码。这里选择share。
? “[Linuxdata]” 用来设定在windows中显示出来的共享目录的名称。
? “path” 用来指定共享的目录,必选项。
? “writeable”用来设置是否可写,yes为可写,no为不可写。
? “browseable”用来定义是否可以在windows工作组下看到共享文件夹,如果需要隐藏共享文件夹,选择no即可。
? “guest ok”用来定义匿名用户是否可以登陆,如果security设置为user,此选项默认值为no。
4.建立共享目录
上面设置了共享目录为/ixdba/Linuxdata,下面就需要建立/ixdba/Linuxdata目录:
[root@localhost ~]# mkdir -p /ixdba/Linuxdata
[root@localhost ~]# chown -R nobody:nobody /ixdba/Linuxdata
由于要设置匿名用户可以下载或上传共享文件,所以要给/ixdba/Linuxdata目录授权为nobody权限。
[root@localhost Linuxdata]# cp /root/install.log* /ixdba/Linuxdata
上面是拷贝一些测试文件到共享目录中。
5.重启smb服务
执行如下命令重启samba服务:
[root@localhost samba]# /etc/init.d/smb start
Starting SMB services: [ OK ]
Starting NMB services: [ OK ]
[root@localhost samba]# ls
lmhosts secrets.tdb smb.conf smb.conf.old smbpasswd smbusers
[root@localhost samba]#
6.将用户SambaServer(在这之前输入命令adduser SambaServer)添加入到Samba用户数据库,并设置登录共享目录的密码为:123456
[root@roothomes ~] smbpasswd -a SambaServer
New SMB password: 输入该用户用于登录Samba的密码
Retype new SMB password: 再次确认输入该密码
Added user SambaServer.
#备注:这里设置的密码是SambaServer用户登录该机的Samba共享的密码,非登陆OS的密码;
7.访问Samba服务器的共享文件
(1)在Linux下访问Samba服务器的共享文件
[root@web ~]# smbclient //192.168.60.231/Linuxdata
Password:
Domain=[IXDBA.NET] OS=[Unix] Server=[Samba 3.0.23c-2]
Server not using user level security and no password supplied.
smb: \> ls
. D 0 Thu Feb 19 20:14:24 2009
.. D 0 Thu Feb 19 19:05:24 2009
install.log 36563 Thu Feb 19 20:14:24 2009
install.log.syslog 4295 Thu Feb 19 20:14:24 2009
58113 blocks of size 262144. 44295 blocks available
smb: \>
(2)在windows下访问Samba服务器的共享文件
在浏览器或者运行框输入
\\192.168.60.231 或者 \\ixdba
就看到打开共享目录了,这里的ixdba是smb.conf中“netbios name”选项定义的名字。
相关推荐
Samba服务器搭建 Samba服务器是一种基于SMB/CIFS协议的文件和打印服务,能够让不同的操作系统平台上的计算机之间共享资源。本文档将指导读者搭建Samba服务器,实现本地主机与虚拟机的资源共享。 一、实验目的及...
SAMBA 文件服务器的 AD 域控搭建 SAMBA 文件服务器的 AD 域控搭建是指建立一个具有域控制器的 SAMBA 文件服务器,以便于实现用户权限的分配和管理。在这种搭建中,我们需要首先安装 Windows Server 2008 作为域...
LINUX下Samba服务器的搭建 一、概述 在一个网络中,通常会有多种操作系统同时存在,如 Linux、UNIX、WindowsXP、Windows 2003 等。那么有什么办法来实现它们之间的互联,使用户能够方便快捷地使用彼此提供的共享...
Linux下Samba服务器的搭建——实现LINUX与WINDOWS之间文件共享 本文主要讲解了Linux操作系统下如何设置Samba服务器,实现Linux与Windows之间的文件共享。Samba服务器是Microsoft和Intel在1987年开发的协议,可以用...
### Linux Samba 服务器搭建详解 #### 一、前言 在Linux环境下搭建Samba服务器是一种常见的需求,尤其是在需要实现Linux系统与Windows系统之间文件共享的场景中。Samba能够提供一个兼容Windows SMB协议的服务,...
SAMBA 服务器是 Linux 之一的三大文件服务器之一,能够与打印机结合,提供了强大的文件共享服务。本文将指导您如何在 CentOS 6.2 系统上搭建 SAMBA 服务器,实现无需密码和需要密码两种共享模式。 知识点 1:SAMBA ...
Samba服务器搭建 Samba服务器是基于 SMB(Server Message Block)协议的文件和打印服务,它允许Windows客户端访问Linux主机的共享资源。在本文中,我们将介绍如何搭建Samba服务器以便Windows客户端访问Linux主机。 ...
### CentOS 7 配置 Samba 服务器 #### 一、概述 Samba 是一个用于在 Linux 和 Unix 系统上实现 SMB/CIFS 协议的软件包,它允许不同操作系统之间的文件和打印共享。本篇文章将详细介绍如何在 CentOS 7 上安装、配置...
Samba服务器配置及访问Samba共享 Samba服务器是一种基于SMB/CIFS协议的文件和打印机共享服务器,主要用于Linux和Windows之间的资源共享。下面是Samba服务器配置及访问Samba共享的知识点总结: 一、Samba服务器安装...
详细说明LINUX下samba服务器的搭建方法,对初学者很有价值~~~
### Samba共享文件服务器搭建详解 #### 一、概述 Samba是一款开源软件,它能够实现Windows系统与Linux/Unix系统之间的文件共享和打印服务。本文档主要介绍如何在CentOS 7环境下搭建一个Samba文件共享服务器,并通过...
《Samba服务器搭建详解》 Samba服务器是一种在Linux或Unix系统上运行的服务,它使得这些系统能够与使用Microsoft Windows的设备共享文件和打印机。在本文中,我们将深入探讨Samba服务器的搭建过程,以及所需的...
### Samba共享服务器搭建知识点详解 #### 一、Samba简介 Samba是一款在Linux和UNIX系统上实现SMB协议的免费软件,它由服务器端和客户端程序组成。原本SMB协议是Windows操作系统间用于资源分享的一种协议。由于微软...
本服务器搭建环境为:ubuntu18.04 和 windows 10 家庭版。 本文没有理论介绍,只是一个 samba 服务搭建手册。主要是为了让windows系统和linux虚拟机之间,便捷的传输文件。
在Redhat下搭建Samba服务器的具体过程步骤以及遇到问题的处理方案
Samba采用C/S模式, 其工作机制是让NetBIOS( Windows 网上邻居的通信协议)和SMB两个协议运行于TCP/IP通信协议之上,并且用NetBEUI协议让Windows在“网上邻居”中能浏览Linux服务器。 samba服务器可实现如下功能:WINS...
Samba 服务器搭建 Samba 服务器是一种基于 SMB/CIFS 协议的文件和打印共享服务器,可以让不同操作系统之间共享文件和打印机。下面是 Samba 服务器搭建的详细步骤和相关知识点: 一、禁用 SELinux 和防火墙 在搭建...
Linux 系统是目前最流行的服务器操作系统之一,作为一个系统管理员,了解 Linux 系统下的常见服务搭建是非常必要的。本文将对 Linux 系统下的三种常见服务进行搭建,分别是 FTP 服务、NFS 服务和 Samba 服务。 FTP ...