实现Linux(Ubuntu22.04)与Windows文件互通共享(双方永久往来~)

Samba服务器了解(防守)

Samba是一个开源软件套件,它允许在不同操作系统之间共享文件、打印机和其他资源。它是基于SMB/CIFS协议,这是一种用于在Windows系统中共享文件和打印机的网络协议。Samba服务器可以在Linux、Unix、macOS和其他操作系统上运行,并与Windows系统无缝集成。

当谈到Samba服务器时,以下是一个简单的介绍和架构图,以帮助你更好地理解它的工作原理和组成部分。

Samba是一个开源的软件套件,允许不同操作系统之间共享文件、打印机和其他资源。它基于SMB(Server Message Block)协议,这是一种用于在Windows系统中共享文件和打印机的网络协议。Samba服务器可以在Linux、Unix、macOS和其他操作系统上运行,并与Windows系统无缝集成。

下面是一个利用sql生成的Samba服务器的基本架构图:

               +-------------------+|      Samba        ||     Server        ||                   |+--------+----------+|+------v-------+|     File     ||   Services   ||             |+------^------+|+------v------+|   Printing   ||   Services   ||             |+------^------+|+------v------+|    User     ||  Management ||             |+-------------+

在这个架构中,Samba服务器作为中心,提供了几个主要的功能模块:

  1. 文件服务(File Services):Samba服务器允许共享文件和目录,使得不同操作系统上的计算机可以访问和操作这些共享资源。这使得文件在网络中可以轻松共享和传输。
  2. 打印服务(Printing Services):Samba服务器还提供了打印机共享功能,使得可以在网络上共享打印机资源。这意味着用户可以通过Samba服务器访问和使用网络中的打印机。
  3. 用户管理(User Management):Samba服务器提供了用户认证和权限管理功能。它可以集成现有的用户和组,也可以独立管理自己的用户数据库。这使得管理员可以对用户进行身份验证和授权,以控制对共享资源的访问权限。

通过这些功能,Samba服务器实现了跨平台的文件和打印机共享,使得不同操作系统之间可以方便地共享和访问资源。

Samba服务器简单配置(防守)

  1. 安装Samba:首先,你需要在你的服务器上安装Samba软件包。在大多数Linux发行版中,你可以使用包管理器来安装Samba。例如,在Ubuntu上,你可以使用以下命令安装Samba:
    sudo apt-get install samba
    
  2. 配置Samba:一旦Samba安装完成,你需要进行配置。Samba的配置文件位于/etc/samba/smb.conf。你可以使用任何文本编辑器打开该文件进行编辑。这个配置文件定义了Samba共享的参数,包括共享的目录、访问权限和身份验证方式等。

以下是一个简单的示例配置,共享了一个名为"share"的目录:

[share]
comment = Shared Directory
path = /path/to/shared/directory
browseable = yes
read only = no
guest ok = yes

在这个示例中,path参数指定了要共享的目录的路径。read only设置为"no"表示允许读写访问。guest ok设置为"yes"表示允许匿名访问。

  1. 创建Samba用户:为了访问Samba共享,你需要创建一个Samba用户。Samba用户和系统用户可以是相同的,也可以是独立的。你可以使用以下命令创建一个Samba用户:
    sudo smbpasswd -a username
    

这个命令将提示你设置密码。

  1. 重启Samba服务:在完成配置和创建用户后,你需要重新启动Samba服务以使更改生效。你可以使用以下命令来重新启动Samba服务:

    sudo service smbd restart
    
  2. 访问Samba共享:一旦Samba服务器配置完成并且服务正在运行,你可以从其他计算机上访问Samba共享。在Windows系统中,你可以打开资源管理器,然后在地址栏中输入\samba-server-ip来访问Samba服务器上的共享目录。在macOS和Linux系统中,你可以使用命令行或文件浏览器来访问Samba共享。

这只是Samba服务器入门的基本步骤。你可以根据你的需求进一步配置和扩展Samba服务器,例如设置访问权限、添加更多的共享目录或配置打印服务等。Samba的官方文档提供了更详细的信息和配置选项,你可以参考它来了解更多内容。
Samba - Arch Linux 中文维基:https://wiki.archlinuxcn.org/zh-hans/Samba

Samba服务器配置(进攻)

1.ubuntu直接安装Samba

sudo apt-get install samba samba-common -y

在这里插入图片描述

2.Centos利用yum安装Samba

好像ubuntu22.04无法定位yum包,所以用apt-get
安装yum碰到的最多的问题就是 镜像源的问题,更新后使用:
apt-get upgade
然后install yum
再安装Samba即可。
参考:centOS下yum安装配置samba

3.查看Samba服务器的版本号:

[root@localhost ~]# smbclient -V
Version 4.9.1

命令就长这样,但我好像没试成功…

4.创建用户级别的Samba

user用户级别的samba需以samba用户和密码才能访问

sudo mkdir -p /smb

ps:好像不显示该文件夹,你可以创建一个可见的文件夹,然后替换下面的path路径

5.将用户添加进来,创建Samba密码

sudo useradd 你的用户名
如:
sudo smbpasswd -a Lyh

然后需要创建密码。
在这里插入图片描述

6.给创建的这个目录设置权限

root@ubuntu:~# chmod -R o+rwx /smb  ##设置smb目录的other权限为全部
##或者 chown -R smb:smb /smb      ##设置smb目录的所属用户和组为smb
##或者 chown -R smb /smb      ##设置smb目录的所属用户为smb
root@ubuntu:~# ll -l /|grep smb

输入后会显示:
drwxr-xrwx 2 root root 2 Jul 1 13:17 smb/

7.配置samba的配置文件

sudo gedit vim /etc/samba/smb.conf

编辑:

##在[global]下添加
security = user  ##原来已经存在则不需要修改
##在最后添加下面的内容:
[smb]
comment = smb folder
browseable = yes
path = /smb
create mask = 0700
directory mask = 0700
valid users = smb     #注意:smb代表你的用户名
force user = smb      #注意:smb代表你的用户名
force group = smb     #注意:smb代表你的用户名
public = yes
available = yes
writable = yes

8.重启samba服务器

service smbd restart

9.(可选:设置匿名访问,不用密码验证登陆)匿名级别的samba的配置

步骤与上面的user用户设置一样

mkdir -p /share
[root@localhost ~]# chown nobody:nobody /share    #该行命名貌似对我无效(待研究,不过没影响)
[root@localhost ~]# chmod o+rwx -R /share/
[root@localhost ~]# ll -l / |grep share
drwxr-xrwx    3 nobody nobody   24 Jan 16 16:10 share

修改文件:

vim /etc/samba/smb.conf
##找到 security = user 修改为
security = user
map to guest = Bad User
##在最后添加下面的内容:
[share]
comment = share folder
browseable = yes
path = /share
public = ok
guest ok = yes
writable = yes

重启samba服务:

service smb restart

10.linux(ubuntu)上验证:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在Window查看:
Win+R运行linux中的ip地址,若不知道自己的ip,linux中可以使用命令:Lifconfig,或:
ubuntu中查看IP地址命令
当然,你也可以直接在文件管理中直接输入:\198.162.1.1(两个双斜杠+你的ip地址)。
最后出现在这里插入图片描述点击smb共享文件夹,即可。

补充:
多用户永久挂载:

vim /etc/fstab
写入:
//172.25.254.125/mac    /mnt    cifs    defaults,credentials=/root/smb_auth,sec=ntlmssp,multiuser       0 0

关闭防火墙:

systemctl stop firewalld.service

windows清除samba登陆用户 Windows命令:net use * /delete

windows查看samba挂载情况:

net use #查看samba挂载情况
net use * /delete #断开所有
net use \\x.x.x.x\public /delete #断开指定

另外:

sudo /etc/init.d/samba start    //启动Samba服务器只需执行如下命令:
sudo /etc/init.d/samba stop     //关闭Samba服务器:
sudo /etc/init.d/samba restart  //重新启动Samba服务器:
ps -aux | grep samba            //查看samba是否正在运行

参考:
Samba服务器(cifs)详解
005.SMB之user级别配置
win10访问共享提示【输入网络凭证】解决方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/3416.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

掌握imgproc组件:opencv-直方图与匹配

直方图与匹配 1. 图像直方图概述2.直方图的计算与绘制2.1 计算直方图:calcHist()函数2.2 找寻最值:minMAxLoc()函数2.3 示例程序:绘制H-S直方图 3.直方图对比3.1 对比直方图:compareHist()函数3.2 示例程序:直方图对比…

SOLIDWORKS软件有哪些版本?

SOLIDWORKS软件是基于Windows开发的三维 CAD系统,技术创新符合CAD技术的发展潮流和趋势,SOLIDWORKS每年都有数十乃至数百项的技术创新,公司也获得了很多荣誉。该系统在1995-1999年获得全球微机平台CAD系统评比NO1;从1995年至今&am…

【简单】使用ChatGPT和QT从零开始构建一个计算器应用

在这篇博文中,我将向大家展示如何使用ChatGPT和Qt来构建一个完整的计算器应用。我们将从零开始,逐步引导您完成整个项目,包括需求分析、软件设计、代码编写等环节。该项目代码全部由GPT编写,10分钟完成。 一,项目概述 本项目旨在…

【Flutter】Audioplayers 4.1.0 简要使用说明

文章目录 一、前言二、安装和设置三、基本使用1.创建 AudioPlayer 实例2.设置音频源3.控制播放 四、示例代码五、总结 一、前言 Audioplayers 是一个非常实用的 Flutter 插件,它可以帮助我们在 Flutter 应用中播放音频。无论你是想在你的应用中添加背景音乐&#x…

五、动画 - 旋转rotate

目录: 1.简介2.详解 一、 简介 通过旋转可以使元素沿着x, y,或者z选择指定的角度rotateX()rotateY()rotateZ()相关术语:45deg: 45度1turn 1圈, .5turn 半圈二、 详解 需求:在界面上定义一个box1, 放到视口中&#xff…

【Kubernetes资源篇】ConfigMap配置管理中心详解

文章目录 一、ConfigMap配置中心理论知识1、ConfigMap配置中心简介2、ConfigMap局限性 二、创建ConfigMap的四种方式1、第一种:通过命令行创建ConfigMap2、第二种:通过指定文件创建ConfigMap3、第三种:通过指定目录创建ConfigMap4、第四种&am…

kafka入门用这一篇就够了!

目录 1,kafka简单介绍 2,kafka使用场景 3,kafka基本概念 kafka集群 数据冗余 分区的写入 读取分区数据 顺序消费 提交策略 零拷贝技术(netty) 1,kafka简单介绍 kafka是一款分布式、支持分区的、多…

JS知识点汇总(五)--执行上下文

1. JavaScript中执行上下文和执行栈是什么? 1、执行上下文 执行上下文是一种对Javascript代码执行环境的抽象概念,也就是说只要有Javascript代码运行,那么它就一定是运行在执行上下文中 执行上下文的类型分为三种: 全局执行上…

CommonJS 和 ES6 module

本文主要自己觉得要记录的点记录下来,不耽误大家时间,会持续更新。 Module对象 Module {id: xxx/demo/1.js, //加载文件的绝对路径path: xxx/demo,// 加载文件所在目录的绝对路径exports: [Function (anonymous)],filename: xxx/demo/1.js,加载文件的绝对路径load…

【直播预告】HarmonyOS极客松赋能直播第三期:一次开发多端部署与ArkTS卡片开发

直播预约通道: 【直播预告】HarmonyOS极客松赋能直播第三期:一次开发多端部署与ArkTS卡片开发

点亮你的创意,使用Python与树莓派制作呼吸灯的详细教程

文章目录 前言PWM的介绍实现PWM控制LED亮度结果与分析 前言 在上一篇文章中,我们介绍了如何在树莓派上点亮一个LED灯,并让它以时间间隔为1秒进行闪烁。闪亮登场!在树莓派上点亮LED灯的简单详细方法_☞黑心萝卜三条杠☜的博客-CSDN博客。现在&…

什么是组件,以及前端各种框架组件的使用方法

🙂博主:小猫娃来啦 🙂文章核心:介绍什么是组件,以及前端各种框架组件的使用方法 目录 什么是组件,请细看关键点 前端常用框架vue2框架的常用组件库vue3框架的常用组件库react框架的常用组件库微信小程序常用…