Linux——SAMBA文件共享

这篇具有很好参考价值的文章主要介绍了Linux——SAMBA文件共享。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、SAMBA概念

1. 什么是SAMBA

SMB(Server Message Block)协议实现文件共享,也称为CIFS(Common Internet File System )
是Windows和类Unix系统之间共享文件的一种协议

  • 客户端主要是Windows,支持多节点同时挂载以及并发写入
  • 主要用于Windows和Linux下的文件共享、打印共享
  • 实现匿名与本地文件共享
  • SAMBA也是一个C/S架构的软件,Client主要是Windows

2. SAMBA主要进程

  • smbd进程:控制发布共享目录与权限、负责文件传输,基于TCP(139 445)
  • nmbd进程:用于名称解析netbios UDP 137 138 ; 基于NETBIOS协议获得计算机名称——>解析为相应IP地址,实现信息通讯

NetBIOS是Network Basic Input/Output System(网络基本输入/输出系统)的简称,一般指用于局域网通信的一套API

3. SAMBA软件安装(服务器搭建)

命令:yum -y install samba -y

查看相关软件包

[root@samba ~]# rpm -qa | grep ^samba
samba-common-libs-4.10.16-19.el7_9.x86_64
samba-common-tools-4.10.16-19.el7_9.x86_64
samba-common-4.10.16-19.el7_9.noarch
samba-client-libs-4.10.16-19.el7_9.x86_64
samba-libs-4.10.16-19.el7_9.x86_64
samba-4.10.16-19.el7_9.x86_64
[root@samba ~]# 

4. smb配置文件

通过命令:vim /etc/samba/smb.conf查看配置文件

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

        passdb backend = tdbsam	密码格式
	
        load printers = yes	加载打印机
        cups options = raw	打印机选项

[homes]	局部选项(共享名称)
        comment = Home Directories	描述
        valid users = %S, %D%w%S	有效用户
        browseable = No	隐藏共享名称
        read only = No	是否只读
        inherit acls = Yes	继承ACL
        writable = yes      可读可写

[printers]	共享名称
        comment = All Printers	描述
        path = /var/tmp	本地的共享目录
        printable = Yes	可打印
        guest ok = no ——>(等价于)   public = no  需要帐号和密码访问
        writable = no  ——>(等价于)  read only =yes 不可写 
        browseable = 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服务,共享一个目录/samba/share,客户端使用user01/123通过windows或者Linux可以在该目录里创建文件删除文件

1. 环境准备

1)配置静态ip

命令:vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"
BOOTPROTO="static"
IPADDR=192.168.44.170
NETMASK=255.255.255.0
GATEWAY=192.168.44.2
DNS1=8.8.8.8
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"

2)关闭防火墙和SELinux

关闭防火墙:
命令:systemctl stop firewalld
开机不自启:systemctl disable firewalld

关闭SELinux:
命令:setenforce 0
开机不自启
vim /etc/selinux/config

SELINUX=disabled

3)安装SAMBA

命令:yum -y install samba -y

查看SAMBA生成文件列表
命令:rpm -ql samba

4)在服务端创建一个共享目录并创建文件

命令:mkdir -p /samba/share

[root@samba share]# touch /samba/share/test.txt
[root@samba share]# echo "hello word" >> test.txt 
[root@samba share]# ll
total 4
-rw-r--r--. 1 root root 11 Jul 18 16:18 test.txt
[root@samba share]#

2. 修改配置文件

命令:vim /etc/samba/smb.conf

[samba_share]	共享名称
        comment = samba service 描述
        path = /samba/share 本地的共享目录
        guest ok = no	需要帐号和密码访问
        writable = yes	可读可写

或者可以修改成
因为 guest ok = no 等价于 public = no

[samba_share]
        path = /samba/share
        public = no
        writable = yes

3. 创建用户

创建一个test用户,然后添加到samba认证中,设置密码为123456

[root@samba ~]# useradd test
[root@samba ~]# smbpasswd -a test
New SMB password:
Retype new SMB password:
Added user test.
[root@samba ~]# 

4. 启动nmb和smb服务

命令:systemctl start nmb
systemctl start smb

5. 测试基于Windows实现文件共享

打开控制面板:

Linux——SAMBA文件共享
点击程序

Linux——SAMBA文件共享
Linux——SAMBA文件共享
进入计算机

Linux——SAMBA文件共享
Linux——SAMBA文件共享

192.168.44.170(主机ip)
samba_share(SAMBA配置文件的标签名)

输入刚创建并加入到SAMBA数据库中的用户名和密密码
Linux——SAMBA文件共享
最后看到之前创建的共享目录里的文件

Linux——SAMBA文件共享

解决挂载后目录不可写

Linux——SAMBA文件共享
问题:主要原因在于/samba/share目录没有写入权限
解决方案:
给用户添加写权限,或者用ACL单独给刚刚创建的test用户添加权限
命令:setfacl -m u:test:rwx /samba/share

6. 基于Linux或Linux实现文件共享

注意:samb_share参数是配置文件里标签名
现在LInux上安装SAMBA客户端
命令:yum -y install samba-client

命令:smbclient -L 192.168.44.170 -U test

[root@samba ~]# smbclient -L 192.168.44.170 -U test
Enter SAMBA\test's password: 

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

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

	Workgroup            Master
	---------            -------
	SAMBA                SAMBA
[root@samba ~]# 

使用smbclient查看目录信息

命令:smbclient //192.168.44.170/samba_share -U test

通过help命令查看命令使用和NFS类似

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: \>

把SAMBA挂载到Linux系统(类似NFS)

先创建一个目录用来挂载:mkdir /temp

安装cifs:yum install cifs-utils -y

挂载命令:mount.cifs -o user=test,pass=123456 //192.168.44.170/samba_share /temp

Linux——SAMBA文件共享
访问权限文章来源地址https://www.toymoban.com/news/detail-495201.html

控制读写权限
	writable = yes/no
	readonly = yes/no

如果资源可写,但只允许某些用户可写,其他都是只读
write list = admin, root, @staff(用户组)
read list = mary, @students

控制访问对象
	valid users = tom,mary,@itcast
	invalid users = tom
注意:以上两个选项只能存在其中一个

网络访问控制:
hosts deny = 192.168.0.   拒绝某个网段
hosts allow = 192.168.0.254  允许某个IP
hosts deny = all  拒绝所有
hosts allow = 192.168.0. EXCEPT 192.168.0.254  允许某个网段,但拒绝某个单个IP
注意:deny和allow同时存在,allow优先

三、FTP、NFS、SAMBA的区别

  1. ftp 局域网和外网都可以
  2. nfs 局域网 挂载方式访问 mount.nfs 侧重于Linux与Linux之间
  3. samba 局域网 直接访问(smbclinet)挂载的方式mount.cifs 侧重于Windows与Linux之间

到了这里,关于Linux——SAMBA文件共享的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu系统(10):使用samba共享linux主机中文件

    目录 一、samba安装步骤 1、Linux主机端操作 (1)安装sabma (2)修改samba配置文件 (3)为user_name用户设置samba访问的密码 (4)重启samba服务 2、Windows端 二、使用 1、代码无法跳转(可能存在) 2、创建快速访问网络(非必要) 特别说明 我现在用的是MobaXterm远程linux主机,如果

    2024年01月19日
    浏览(42)
  • Linux文件共享的完美助手:深入探索Samba和NFS

    作用:网络文件共享 smb(Server Message Block )是 Miscrosoft公司软件。 cifs ( Common Internet File System )是Sum公司开发,是smb的开源版。 服务启动脚本: smb.service 主配置目录: /etc/samba 主配置文件: /etc/smb.conf 安全上下文: samba_share_t 端口: 139 445 安装包: samba samba-common samba的安

    2024年02月05日
    浏览(83)
  • Linux环境搭建(Ubuntu22.04)+ 配置共享文件夹(Samba)

    Linux开发环境准备 搭建Linux开发环境所需要的软件如下: VMware虚拟机: 用于运行Linux操作系统的虚拟机软件之一,VMware下载安装在文章中不做说明,可自行百度谢谢 Ubuntu光盘镜像: 用于源代码编译,有闲置计算机或服务器可以下载服务器版(没有图形用户界面),只有一台

    2024年02月04日
    浏览(78)
  • Linux - samba实现Linux与windows文件共享——共享文件夹目标文件访问权限被拒绝解决方案(超详细,看不懂你怪我)

            最近做一个项目,需要用到linux上的内容,于是需要将linux与window共享文件,上网查阅了一些资料,做完了之后,总结一下自己遇到的问题,以及自己是咋解决的,供大家参考。 这里其实只需要一步就可以操作出来,现在我们看一下: 一、打开虚拟机,选择设置

    2024年02月04日
    浏览(61)
  • 『Samba』在Linux中实现高效管理共享文件夹的基本操作与实践

    📣读完这篇文章里你能收获到 Samba 的安装和配置:详细介绍了如何在 Linux 操作系统上安装和配置 Samba 服务器 共享文件夹的设置:指导如何选择要共享的文件夹,并为其设置共享名称、路径以及访问权限 Samba 用户的创建:提供了创建 Samba 用户的步骤,并讲解了如何为每个用

    2024年02月13日
    浏览(37)
  • linux实用技巧:ubuntu18.04安装samba服务器实现局域网文件共享

    主要是这一句 原文链接:https://blog.csdn.net/u010037542/article/details/108579650 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之

    2024年01月25日
    浏览(62)
  • 【设置 samba 实现文件共享】

    最近一个同事在VMware下安装的Ubuntu总是设置不了 “共享文件夹” ,即使设置了,重启后也会消失不见,虽然后面也帮TA解决了这个问题,但是我在想,有没有类似于windows下的网络共享文件夹,将Linux虚拟机下的某些目录映射成Windows下的磁盘/文件呢?然后就在网上找到了“使

    2024年02月06日
    浏览(25)
  • CHAPTER 4 文件共享 - Samba

    文件共享服务在Linux系统上有多种方式,最常用的有Samba,vsftp,iSCSI,NFS Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议, 它为局域网内的不同计算机之间提

    2024年02月07日
    浏览(37)
  • linux-挂载Samba共享

    1、linux服务器启动Samba共享服务 2、客户端电脑安装cifs-utils 3、挂载共享目录 4、通过df命令查看 5、永久挂载(开机自动挂载) 5.1创建认证文件auth.smb文件 5.2修改auth.smb的权限 5.3、编辑/etc/fstab #执行命令进行挂载 mount -a 小尾巴~~ 只要有积累,就会有进步

    2024年01月19日
    浏览(37)
  • samba(SMB)(1)windows11 连接samba提示"因为文件共享不安全,所以你不能连接到文件共享"...

    windows11 连接samba提示\\\"因为文件共享不安全,所以你不能连接到文件共享\\\" 连接samba报错页面截图: 1、打开控制面板,点击【程序】按钮: 2、打开后在点击【启动或关闭Windows功能】: 3、勾选【SMB1.0/CIFS文件共享支持】下的【SMB 1.0/CIFS 客户端】即可。(需要重启才能生效),如下

    2024年02月11日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包