IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> 文件服务-SAMBA -> 正文阅读

[网络协议]文件服务-SAMBA

文件服务-SAMBA

介绍

历史

  • 1987年,微软公司和英特尔公司共同制定了SMB(Server Messages Block),服务器消息块协议,旨在解决局域网内的文件或打印机等资源的共享问题,这也使得在多个主机之间共享文件变得越来越简单。
  • 1991年,当时还在读大学的Tridgwell为解决Linux系统与Windows系统之间的文件共享问题,基于SMB协议开发出了 SMBServer服务程序。这是一款开源的文件共享软件,经过简单配置就能够实现Linux系统与Windows系统之间的文件共享工作。
  • Tridgwell想把这款软件的名字SMBServer注册成为商标,但却被商标局以SMB是没有意义的 字符而拒绝了申请。
  • 后来Tridgwell不断翻看词典,突然看到一个拉丁舞蹈的名字—Samba,而且这个热情洋溢的舞蹈名字中又恰好包含了“SMB”,于是Samba服务程序的名字由此诞生。
  • Samba服务程序现在已经成为在Linux系 统与Windows系统之间共享文件的最佳选择。
  • 基于C/S架构

概述

  • SMB协议实现文件共享,也称为CIFS(Common Internet File System)

  • 是Windows和Linux/Unix系统之间共享文件的一种协议

  • 客户端主要是Windows

  • 使用NetBIOS的名字解释器让Linux机器可以在Windows的网络邻居中被看到,从而和Windows进行相互沟通,共享文件和打印机

  • 支持多节点同时挂载以及并发写入

  • 主要用于windows和Linux下的文件共享、打印共享

  • 实现匿名用户与本地用户文件共享

NetBIOS协议

  • NetBIOS是Network Basic Input/Output System的简称,网络基本输入输出协议。协议,一般指能用于局域网通信的一套API,是由IBM公司开发的。

  • 通过NetBIOS协议获得计算机名称,然后把计算机名称解析为对应的IP地址

主要进程

  • smbd进程:控制发布共享目录与权限、负责文件传输,基于TCP

    端口号:139,445

  • nmbd进程:用于名称解析netbios,基于UDP

    端口号:137 138

配置文件

[root@samba ~]# vim /etc/samba/smb.conf

[global] #全局选项
    workgroup = SAMBA #定义samba服务器所在的工作组
    security = user #认证模式:share匿名|user用户密码|server外部服务器用户密码

    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 #需要帐号和密码访问
    guest ok = no

[print$] #局部选项(共享名称)
    comment = Printer Drivers
    path = /var/lib/samba/drivers
    write list = @printadmin root
    force group = @printadmin
    create mask = 0664
    directory mask = 0775

SAMBA搭建共享文件

要求

  • 共享/samba/share 目录
  • 允许在共享目录中创建或删除文件
环境准备
[root@server1 ~]# hostnamectl set-hostname samba
[root@server1 ~]# su
[root@samba ~]#
[root@samba ~]# systemctl stop firewalld.service
[root@samba ~]# systemctl disable firewalld.service
[root@samba ~]# systemctl status firewalld.service
[root@samba ~]# setenforce 0
[root@samba ~]# sed -i 's/enforced/disabled/' /etc/selinux/config
[root@samba ~]# getenforce

安装
[root@samba ~]# yum install -y samba

创建共享目录
[root@samba ~]# mkdir /samba/share -p
 
编写配置文件
[root@samba ~]# vim /etc/samba/smb.conf
#追加
[samba_share]
    comment = Samba Service
    path = /samba/share
    guest ok = No
    writable = Yes
    
创建一个用户,samba认证
[root@samba ~]# useradd user01
[root@samba ~]# smbpasswd -a user01
New SMB password:#1
Retype new SMB password:#1
Added user user01.
[root@samba ~]# pdbedit -L
user01:1001:

启动服务
[root@samba ~]# systemctl start smb
[root@samba ~]# systemctl start nmb

为user01设置权限
[root@samba ~]# setfacl -m u:user01:rwx /samba/share/

基于Windows文件共享

Windows+x–>控制面板–>大图标–>程序与功能–>启用或关闭Windows功能–>勾选SMB 1.0/CIFS文件共享支持–>重启

在这里插入图片描述

此电脑–>计算机–>映射网络驱动器–>

\\192.168.226.10\samba_share

#SAMBA标签可能是smb_share等,如果连接不上SAMBA服务,可以尝试更换标签
查看标签
yum install -y samba-client
smbclient -L 192.168.226.10 -U user01

在这里插入图片描述

基于Linux文件共享

[root@server2 ~]# yum install -y samba-client
[root@server2 ~]# smbclient -L 192.168.226.10 -U user01
Enter SAMBA\user01's password: 

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	samba_share     Disk      Samba Service
	IPC$            IPC       IPC Service (Samba 4.10.16)
	user01          Disk      Home Directories
Reconnecting with SMB1 for workgroup listing.

	Server               Comment
	---------            -------
	SAMBA                Samba 4.10.16

	Workgroup            Master
	---------            -------
	SAMBA                SAMBA
[root@server2 ~]# smbclient //192.168.226.10/samba_share -U user01
Enter SAMBA\user01's password: 
Try "help" to get a list of possible commands.
smb: \> help
?              allinfo        altname        archive        backup         
blocksize      cancel         case_sensitive cd             chmod          
chown          close          del            deltree        dir            
du             echo           exit           get            getfacl        
geteas         hardlink       help           history        iosize         
lcd            link           lock           lowercase      ls             
l              mask           md             mget           mkdir          
more           mput           newer          notify         open           
posix          posix_encrypt  posix_open     posix_mkdir    posix_rmdir    
posix_unlink   posix_whoami   print          prompt         put            
pwd            q              queue          quit           readlink       
rd             recurse        reget          rename         reput          
rm             rmdir          showacls       setea          setmode        
scopy          stat           symlink        tar            tarmode        
timeout        translate      unlock         volume         vuid           
wdel           logon          listconnect    showconnect    tcon           
tdis           tid            utimes         logoff         ..             
!              
smb: \> ls
  .                                   D        0  Sat Aug 21 15:32:02 2021
  ..                                  D        0  Sat Aug 21 13:20:25 2021
  新建 DOC 文档.doc               A     9216  Sat Aug 21 15:32:02 2021

		17811456 blocks of size 1024. 15881848 blocks available
smb: \> quit

把SAMBA挂载到Linux中
[root@server2 ~]# mkdir /samba_mount
[root@server2 ~]# yum install -y cifs-utils
[root@server2 ~]# mount.cifs -o user=user01,pass=1 //192.168.226.10/samba_share /samba_mount

ftp&nfs&samba比较

服务比较
ftp支持局域网访问,也支持外网访问
nfs仅支持局域网访问,侧重于Linux与Linux文件共享,挂载方式:mount.nfs
samba仅支持局域网访问,侧重于Windows与Linux文件共享,挂载方式:mount.cifs
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-08-30 12:32:49  更:2021-08-30 12:33:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/28 20:49:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计