虚拟机 Centos Linux 安装samba(smb)

在本地开发项目的过程中,我们需要使用的一些开发工具,这些工具一般安装在windows上,但是我们的代码安装在linx上,那么我们就需要用到smb来进行文件的映射,这里我们先讲如何安装使用,末尾再写原理

1. 首先我们确定是否有安装smb
rpm -qa samba #qa为(query all)的缩写

如果已经安装了,就会返回samba的版本,那么我们可以跳过第二步

2. 安装 samba
yum install -y samba samba-client

安装完成以后进入第三步

3. 修改配置信息
vi /etc/samba/smb.conf
  • 这里,我们需要注意security 是否为user,如果不是就修改为user
  • 注释homes 模块
  • 在末尾处添加:
[myshare]
        comment = share for users
        path = /samba   #该项为你想要访问的文件位置
        browseable = yes
        writable = yes
        public = no
        create mask = 0644    //创建文件属性 可选参数
        force user = root    //和服务端用户一样 可选参数

完整配置文件

[global]
	workgroup = SAMBA
	security = user
	passdb backend = tdbsam
	printing = cups
	printcap name = cups
	load printers = yes
	cups options = raw

#[homes]
#	comment = Home Directories
#	valid users = %S, %D%w%S
#	browseable = No
#	read only = No
#	inherit acls = Yes

[printers]
	comment = All Printers
	path = /var/tmp
	printable = Yes
	create mask = 0600
	browseable = No

[print$]
	comment = Printer Drivers
	path = /var/lib/samba/drivers
	write list = @printadmin root
	force group = @printadmin
	create mask = 0664
	directory mask = 0775

[myshare]
        comment = share for users
        path = /home/wwwroot/
        browseable = yes
        writable = yes
        public = no
        create mask = 0644 
        force user = root 

public = no 即禁止匿名账号登陆

新建用户

sudo useradd smbuser

设置密码。

sudo smbpasswd -a smbuser

列出samba所有的账号:

pdbedit -L

重启服务:

service smb restart

Windows访问

计算机选择访问网络映射

输入:\\你要访问的smb服务器ip\myshare

提示权限不够:
确保setlinux关闭,用setenforce 0命令执行。

默认的,SELinux禁止网络上Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。

原理

一、samba简介

1、概述:

对于windows的网上邻居来讲,共享文件的方式用的是SMB和CIFS协议以及NETBIOS协议Linux/Unix之间用的是NFS协议。但是Linux和Windows之间是不能共享的,所以澳大利亚国立大学的Andrew Tridgell,决定开发一款软件, 实现不同系统之间文件共享。即Samba诞生了。对于我们学习linux的同学来说,samba为我们在linux和window之间架起了一座桥梁,可以使我们在linux和window之间进行通信,最基本的就是我们可以进行文件拷贝,以及不同系统之间资源共享。

2、应用场景:

文件和打印机共享:smb进程实现资源共享,将文件和打印机发布到网络中,以供用户访问。

身份验证和权限设置:smbd服务服务支持user mode 以及domain mode 等身份验证和权限设置模式,通过加密来保护共享的文件。

名称解析:samba通过nmbd搭建NBNS(netBIOS name service)进行名称解析,将计算机的netBIOS解析成对应的IP地址

浏览服务:局域网中,samba服务器可以成为本地主浏览服务器,保存资源列表,保存可用资源列表。

3、工作原理:

当客户端访问服务器时,通过smb协议进行传输。具体流程如下:

(1)、协议协商:

当客户端访问smb服务器的时候,会发送一条negprot指令数据包,告其计算机支持那种smb,smb服务器根据客户端的请求,选择最优的smb作为回应:

客户端---------------发negprot请求–>---------------服务器端

客户端------------<–发negprot回应-----------------服务器端

(2)、建议连接

当确定了smb类型后,客户端会发送会话,建立指令数据包,提交账号和密码,请求与smb服务器之间建立连接,如果身份验证通过,smb服务器会对会话建立报文做出回应,并为用户分配一个UID,供用户与其通信时使用

客户端---------------发session setup请求–>---------------服务器端

客户端------------<–发session setup回应-----------------服务器端

(3)、访问共享资源

客户端访问服务器资源时,会发送tree connect 指令,通知服务器需要防问的共享资源名,如果设置允许,服务器会为每个客户端与共享资源连接之间分配TID,这样客户端就可以访问需要的共享资源

客户端---------------发tree connect请求–>---------------服务器端

客户端------------<–发tree connect回应-----------------服务器端

(4)、断开连接

当共享使用完毕后,客户端向服务器发送tree disconnect 报文关闭共享,与服务器断开连接

客户端---------------发tree disconnect请求–>---------------服务器端

客户端------------<–发tree disconnect回应-----------------服务器端

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值