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

news2024/12/29 11:12:04

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.coloradmin.cn/o/707621.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

玩转C++调试之Python的GDB库增强

玩转C调试之Python的GDB库增强 0.导语 调试是软件开发过程中不可或缺的一环,而GDB(GNU调试器)作为一款功能强大的调试工具,在开发者中得到广泛应用。除了传统的命令行调试功能外,GDB还提供了Python的GDB库,…

2024考研408-计算机组成原理第五章-中央处理器学习笔记

文章目录 前言一、CPU的功能与基本结构1.1、CPU的功能1.2、运算器与控制器需要实现功能1.3、运算器的基本结构1.3.1、基本结构构成(七个部分)1.3.2、各个部件详细介绍①算数逻辑运算单元②通用寄存器组(介绍数据通路的基本结构2个&#xff09…

C语言进阶---字符串+内存函数

本章重点 重点介绍处理字符和字符串的库函数的使用和注意事项。 求字符串长度 strlen() 长度不受限制的的字符串函数 strcpy()strcat()strcmp() 长度受限制的的字符串函数 strncpy()strncat()strncmp() 字符串查找 strstr()strtok() 错误信息报告 strerror() 字符操作内存操作函…

《企业性能测试:体系构建、落地指导与案例解读》——小解送书第四期

目录 介绍 抽奖 介绍 软件系统性能的重要性无须多言,没有哪个用户可以忍受一个响应缓慢的网站或者反应迟钝的软件。软件性能是用户体验的核心。大部分用户可能对软件性能并不了解,但他们永远想使用响应更迅速的软件。所以,性能是评估一个软…

小程序data-*的误区

场景:点击按钮获取data-*的值跳转页面,跳转页获取传过来的参数 binnie: 华哥,为什么有的部分参数传不过去然后显示undefined? 华哥: binnie, 我看了一下你的代码,你错在属性名有大写字母了。我给你写了个…

postman自动生成接口文档

点击: 会自动生成一个文件夹 点击图表,修改名字 新建一个请求,到时候会自动保存到文件夹里面,但是保存前看清楚保存的名字 点击三个点-》点击export即可

Python提取斗鱼美女图片--selenium requests两种方式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 使用selenium,requests提取斗鱼美女数据 数据来源 斗鱼美女链接 一、selenium是干嘛…

Leetcode-每日一题【206.反转链表】

题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5]输出:[5,4,3,2,1] 示例 2: 输入:head [1,2] 输出:[2,1] 示例 3: 输…

ChatGPT助力校招----面试问题分享(七)

1 ChatGPT每日一题:SPI通信协议的四种工作模式 问题:SPI通信协议的四种工作模式 ChatGPT:SPI(Serial Peripheral Interface)总线是一种同步串行通信协议,它在多种数字系统中得到了广泛应用。SPI总线有四种…

nodejs全局模块安装与cnpm

一、通过nodejs官网安装 通过nodejs官网下载后安装 二、验证安装 1、在键盘按下【winR】键,输入cmd,然后回车,打开命令行界面 2、进入命令提示符窗口,分别输入以下命令,显示版本号,则安装成功&#xff0…

【AcWing算法基础课】第二章 数据结构(部分待更)

文章目录 前言课前温习一、单链表核心模板1.1题目描述1.2思路分析1.3代码实现 二、双链表核心模板2.1题目描述2.2思路分析2.3代码实现 三、栈核心模板3.1题目描述3.2思路分析3.3代码实现 四、队列核心模板4.1题目描述4.2思路分析4.3代码实现 五、单调栈核心模板5.1题目描述5.2思…

医疗科技革新:探索互联网医院线上就诊模式

随着互联网的迅猛发展,医疗行业也在逐渐融合科技创新,为患者提供更加便捷、高效的医疗服务。互联网医院作为一种新型医疗模式,通过在线平台实现医生与患者的远程沟通和线上诊疗,成为了医疗科技领域的热门话题。 在本文中&#x…

Django框架-6

向服务器传参 通过url - path传参 path(articles/<int:year>/<int:month>/<slug:slug>/, views.article_detail),查询字符串方式传参 http://localhost:8000?key1value1&key2value2 ;&#xff08;body&#xff09;请求体的方式传参&#xff0c;比如文…

Windos新机配置Java开发环境

一. 安装JDK8 解压&#xff0c;然后配置环境变量即可 配置JAVA_HOME path里添加&#xff1a; 二. MySql数据库安装与配置 参考&#xff1a; https://blog.csdn.net/annita2019/article/details/117467992 1.解压&#xff0c; Path中添加环境变量 D:\CodeSupport\Java_se…

华为OD机试真题 JavaScript 实现【求最大连续bit数】【牛客练习题】

一、题目描述 求一个int类型数字对应的二进制数字中1的最大连续数&#xff0c;例如3的二进制为00000011&#xff0c;最大连续2个1。 二、输入描述 输入一个int类型数字。 三、输出描述 输出转成二进制之后连续1的个数。 四、解题思路 使用位运算来实现。 具体思路如下&…

投票链接步骤公众号投票链接制作制作投票网页链接

大家在选择投票小程序之前&#xff0c;可以先梳理一下自己的投票评选活动是哪种类型&#xff0c;目前有匿名投票、图文投票、视频投票、赛事征集投票等。 我们现在要以“笛乐悠扬”为主题进行一次投票活动&#xff0c;我们可以在在微信小程序搜索&#xff0c;“活动星”投票小程…

高手必备:JVM调优的常用命令和参数一网打尽!

大家好&#xff0c;我是小米&#xff01;在今天的技术分享中&#xff0c;我将和大家一起探讨JVM调优中的常用命令和参数。作为一名热爱技术的小伙伴&#xff0c;希望通过本篇文章的分享&#xff0c;能够帮助大家更好地理解和掌握JVM调优的方法和技巧。 JVM的结构 首先&#x…

C++ 预处理器

预处理器是一些指令&#xff0c;指示编译器在实际编译之前所需完成的预处理。 所有的预处理器指令都是以井号&#xff08;#&#xff09;开头&#xff0c;只有空格字符可以出现在预处理指令之前。预处理指令不是 C 语句&#xff0c;所以它们不会以分号&#xff08;;&#xff09…

操作系统5——输入输出系统

本系列博客重点在深圳大学操作系统课程的核心内容梳理&#xff0c;参考书目《计算机操作系统》&#xff08;有问题欢迎在评论区讨论指出&#xff0c;或直接私信联系我&#xff09;。 梗概 本篇博客主要介绍操作系统第六章输入输出系统的相关知识。 目录 一、I/O&#xff08;…

6-如何创建正态分布数组?【视频版】

目录 问题视频解答 问题 视频解答 点击观看&#xff1a; 6-如何创建正态分布数组&#xff1f;