samba服务的用法

samba是架起windows和linux的桥梁,并且提供不同系统间的共享服务!

samba的工作原理

samba服务功能十分强大,这与其通信基于smb协议有关。smb不仅提供目录和打印机的共享,还支持认证,权限设置。在早期,smb运行于nbt协议上使用udp协议上的137,138端口及tcp协议的139端口。后期smb经过开发,可以直接运行tcp/ip协议,没有额外的nbt层,使用tcp协议的445端口!

samba工作流程:

当客户达端访问服务器时,信息通过smb协议进行传输,其工作过程可以分为4个部分:

1,协议协商:客户达端在访问samba服务器时,发送negport指令数据包,告知目标计算机其支持的什么的类型。samba服务器根据客户端的情况,选择最优的smb类型,并做出回应!

2,建立连接:当smb类型确认之后,客户端会发送session setup数据包,提交帐号和密码,请求与samba服务器建立连接。如果客户端通过身份验证,samba服务器会对session setup

报文做出回应,并为用户分配唯一的uid,在客户端与其通信时使用!

3,访问共享资源:客户端访问samba共享资源时,发送tree connect指令数据包,通知服务器需要访问的共享资源名。如果设置允许,samba服务器会为每个客户端与共享

资源的连接分配tid,客户端即可以访问需要的共享资源!

samba的主配置文件在/etc/samba/smb.conf,通过修改这个配置文件来实现我们的各种需求!

基本samba服务器搭建流程主要分为四步:

1:编辑主配置文件smb.conf,指定需要共享的目录,并未共享目录设置共享权限!

2:在smb.conf文件中指定日志文件名称和存放路径。

3:设置共享目录的本地文件权限

4:更新加载配置文件或重新启动smb服务使配置生效!

smb.conf主配置文件:

smb.conf文件大概有280行,smb.conf大致分为3部分,先简单了解一下:

smb.conf文件开头部分为samba配置简介,告诉使用者smb.conf文件的作用和使用信息!smb.conf文件中以“#”开头的为注释,为用户提供相关配置的解释信息。以“;”开头的是smb.conf配置的格式范例,默认是不生效的,我们通过去掉前面的“;”号,并加以修改来实现想使用的功能!

#======================= Global Settings =====================================

[global]

Global Settings为全局变量区域,该区域的设置是针对所有共享资源的。

samb的配置通用格式是 “字段  = 设定值”

1:设定工作组或域名称。工作组是网络中,地位平等的一计算机,可以通过设置workgroup字段,来对samba服务器所在的工作组或域名进行设置。

 workgroup = WORKGROUP    (WORKGROUP为windows的默认工作组,若想和windows通信,此处可设为此值)

2:服务器描述:在一个工作组中,可能存在多台服务器,为了方便用户浏览,可以在server string配置相应的描述,这样用户通过描述就知道自己要登录的服务器:

 server string = Samba Server Version %v

3:设置samba服务的安全级别:

 security = share/user/server/domain/ads

security为用户的安全级别,用来适应不同的企业服务器的需求!

share:客户端登录samba服务器,不需要输入用户名和密码,就可以浏览samba服务器的资源。适用于公共的共享的资源,安全性差,需要配合其它权限设置,保证samba的安全性!

user:客户端登录samba服务器,需要提交合法的帐号和密码,经过服务器验证,才可以访问共享资源。服务器默认为该级别!

server:客户端需要将用户名和密码,提交到指定的一台samba服务器上进行验证,如果验证出现错误,客户端会用user级别访问!

domain:如果samba服务器加入window环境中,验证工作由windows服务器负责,domain级别的samba服务器只是成为域的成员客户端,并不具备服务器特性,samba早期使用此级别登录windows域!

ads:当samba服务器使用ads安全级别加入到windows域中,其中包含domain级别的所有功能,并可以具备控制域的功能!

3:shonare definitions共享服务定义:

1)设置共享名

共享资源发布后必须为每一个共享目录或打印机设置不同的共享名,为网络用户访问时使用,并且共享名可以与元目录名不同。

[homes]           //共享名为homes

2)共享资源描述:网络中存在各种共享资源,为了方便用户识别,可以为其添加备注信息:

 comment = share for users

3)共享路径:共享路径的原始完整可以用path字段进行发布,务必指定正确:

 path = /tmp/samba

4)设置匿名访问:

  public = no/yes               //yes允许匿名,no不允许匿名访问

5)设置访问用户

如果共享资源存在重要数据,需要对访问用户进行审核,使用valid users字段进行设置

valid  users =  用户名
valid  users =  @组名       //只有被设定的用户才能访问!

6)设置共享目录:共享目录如果限制用户的读写操作,可以用readonly实现:

readonly = yes /no

7)设置目录可写:

 writeable = yes/no

samba服务日志文件:

日志文件对samba非常重要,它存着客户端访问samba服务器的信息,以及samba服务的错误日志提示信息!

在/etc/samba/amb.conf文件中,log.file为设置samba日志的字段!

samba服务的日志文件默认存在/var/log/samba/中,其中samba会为每个连接到samba服务器计算机分别建立日志文件。

nmbd.log记录nmbd进程的解析信息

smbd.log记录用户访问samba服务器的问题,以及服务器本身的1错误信息,可以通过该文件获取大部分的samba维护信息。当客户端访问samba服务器后,会自动添加客户端的相关日志!

设置一个共享目录,使用用户名和密码登录

1)配置smb.conf配置文件:

   修改配置文件
         workgroup = WORKGROUP
        server string = Samba Server Version %v
         security = user

然后在文件最后加上:

[shares1]
        comment = share for users
        path = /tmp/samba
        browseable = yes
        public = no
        writeable = yes

如果共享目录不存在,则需要创建共享的目录:

[[email protected] ~]# cd /tmp         
[[email protected] tmp]# ls              //共享目录已存在
samba  yum.log

添加用户

[[email protected] tmp]# useradd test2        //在服务端创建一个用户,用来映射samba服务的虚拟用户
[[email protected] tmp]# pdbedit -a test2     //把创建的用户加入samba、服务
new password:
retype new password:
Unix username:        test2
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-1414275737-2304374364-3016793499-1001
Primary Group SID:    S-1-5-21-1414275737-2304374364-3016793499-513
Full Name:
·····

启动samba服务

[[email protected] tmp]# service smb start
启动 SMB 服务:                                            [确定]

在windows端打开运行窗口,输入“\\服务器ip地址”,弹出界面输入用户名和密码即可看到分享的目录!

在linux端查看samba服务:

mount -t cifs //ip地址/[共享目录]  /【当前一个目录】

用之前需要安装一个工具:

yum install -y cifs-devel
时间: 2024-08-09 06:32:21

samba服务的用法的相关文章

Samba服务安装

安装Samba服务   1.在可以联网的机器上使用yum工具安装,如果未联网,则挂载系统光盘进行安装. # yum install samba samba-client samba-swat 有依赖关系的包samba-common.samba-winbind-clients.libsmbclient将自动安装上去. 2.查看安装状况 3.安装包说明 samba-common-3.5.10-125.el6.x86_64               //主要提供samba服务器的设置文件与设置文件语

Centos6.5以下Samba服务配置

一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成了现在的Samba软件.后来微软又把 SMB 改名为 CIFS(Common Internet File System),即公共 Internet 文件系统,并且加入了许多新的功能,这样一来,使得Samba具有了更强大的功能

SAMBA服务

目    录 一.SAMBA服务介绍 1.SAMBA的功能 2.计算机网络管理模式 3.相关包 4.相关服务进程 5.主配置文件 6.语法检查 7.客户端工具 二.SAMBA服务配置 1.全局配置 2.特定的共享设置 3.宏定义 三.管理samba用户 四.配置目录共享 五.基于特定用户和组的共享 六.SMB客户端访问 七.挂载CIFS文件系统 1.手动挂载 2.开机自动挂载 SMB:server message block 服务器消息块,IBM发布,最早DOS网络文件共享协议. Cifs: c

如何部署Samba服务

一.samba存在的意义 有时为了方便windows与linux虚拟机之间的文件共享,我们一般用SAMBA服务来解决,有人会问,VMTool不是可以直接设置share folder吗?但是用到比较大的工程时复制来复制去的耗时很多或者我们想偷懒直接就在共享目录编译而不影响(要知道windows和linux的文件系统是不同的),samba是非常适合的解决方法. 二.安装并启动samba服务 1)使用yum来安装Samba yum -y install samba* 2)启动并检查服务是否启动 ser

linux学习-Samba服务

Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件,实现了Linux与Windows系统间的文件共享. 1.安装Samba服务软件包: [[email protected] Desktop]# yum install samba Loaded plugins: langpacks, product-id, subscription-manager ------省略部分安装过程------ Installing: samba           x86_64      

linux基础Samba服务和nginx服务

一.Samba服务 1.准备环境:iptables -F:关闭防火墙 #systemctl disable firewalld:开机默认关闭 #systemctl stop firewalld:立即关闭 #systemctl status firewalld:查看 2.安装软件包:yum install samba -y 3.修改配置文件: /etc/samba/smb.conf [public] comment = Public Stuff path = /share public = yes

Ubuntu16.04 samba服务配置

1.sudo apt-get update 2.sudo apt-get install samba samba-common 安装samba服务软件 3.smbpasswd -a tfjay 将tfjay用户添加到samba用户中 4.vi /etc/samba/smb.conf [myshare]                  #共享目录名 comment = my root share directory    #描述 path = /home/tfjay             #L

配置samba服务一例

问题: 在/data/share目录下建立三个子目录public.training.devel用途如下 public目录用于存放公共数据,如公司的规章制度 training目录用于存放公司的技术培训资料 devel目录用于存放项目开发数据 将/data/share/public/目录共享为public,所有员工都可以访问,但只有读取权限 将/data/share/training目录共享为peixun,允许管理员admin和技术部的所有员工读取数据,但不能写入,禁止其它人访问 将/data/sh

初学linux网络服务之samba服务实验

实验拓扑: Linux Client -----RHEL5.9(vmnet1)----------(vmnet1) Win7 Client 实验一:Samba匿名共享 工作组为Tarena 将目录 /usr/src 共享给所有人 共享名设为 tools 允许所有人访问.无需密码验证 访问权限为只读 1.安装软件包 [[email protected] ~]# rpm -q samba-client samba samba-common  //查看安装包 package samba-client