Ubuntu与window实现文件共享——Samba使用

news2024/11/16 2:46:37

前言

(1)我们在使用Linux开发的时候,因为Linux中写程序没有Windows的工具方便,所以经常是先在windows环境下编写程序,之后再将文件上传给Linux进行编译。

(2)这样就存在一个问题,因为在程序编写过程中,肯定要经常进行编译,报错,检查,修改。但是因为我们是在Windows环境下进行程序编写的,所以每次编译检查的时候,都需要上传给Linux,感觉非常麻烦。

(3)那么有没有什么办法,可以让我们在Windows环境下编写程序,然后Linux中就可以直接使用呢?有,也就是现在我要介绍的Samba。

(4)注意,本文阅读之前,需要具备Linux的VIM编辑器使用基础,Linux_vim编辑器入门级详细教程;

Ubuntu环境下Samba的配置

安装Samba

(1)首先我们需要输入如下指令进行安装,注意,必须是root权限下进行。所以之后会弹出[sudo] password for topeet:  之后我们输入自己配置的密码即可。

sudo apt-get install samba

(2)之后在安装过程,会突然卡住,出现Do you want to continue? [Y/n]  此刻我们只需要输入y即可

修改 samba 配置文件

(1)依旧是需要root权限,所以需要输入如下指令。

(2)因为需要root权限,所以可能会弹出需要输入密码的要求,需要自行输入自己的密码。如果之前在安装samba的时候输入了一次密码,可能就不会弹出再输入一次密码的要求了。

sudo vi /etc/samba/smb.conf

(2)进入VIM编辑器之后,按住shift+g,即可进入最后一行。在最后一行输入如下指令。

(3)需要注意的是,我们这个#之后的注释需要删除。否则可能会出现错误。

/********  解释  ********/
[ubuntu_samba]
    comment = arm ubuntu samba dir #说明
    path = /home/samba #共享的 samba #目录
    available = yes #允许访问
    browseable = yes #可以浏览
    public = yes #公开
    writable = yes #可写
    create mask = 0755 #当外部创建新文件时的权限
    security = share #共享模式
    force user = root #在外部添加新文件时, 文件的所有者
    arm force group =root #在外部添加新文件时, 文件的所在组

/********  实际写入  ********/
[ubuntu_samba]
    comment = arm ubuntu samba dir 
    path = /home/samba 
    available = yes
    browseable = yes 
    public = yes
    writable = yes 
    create mask = 0755 
    security = share 
    force user = root 
    arm force group =root 

(4)我不建议你写的和下面的一样,因为下面这个的共享文件,只有超级用户root才有权限进行操作。因为root用户下进行操作,容易出现问题,所以我建议进行更改。只需要更改两个地方force user 和arm force group

(5)这两个是什么东西呢?有什么用呢?

<1>首先我先介绍force user,这个就是文件所有者是谁,那么我们不想将文件所有者归属与root,而是普通用户,应该怎么改呢?首先我们需要知道普通用户是叫什么,我们根据下面这张图可以知道,@之前的字母表示当前登录的用户名一般情况下,我们直接登录的用户为普通用户,所以我们需要将force user = root,改为force user = book。(注意,这里需要你自己变通来改!!!)

<2>之后arm force group又是什么呢?他表示文件所在组别,而我们怎么知道普通用户文件所在组别呢?很简单,在输入groups  普通用户名,就可以获得普通用户组别了。

 

(6)现在咱们知道了组别和用户名了,就可以直接写了吗?NONONO,还有两个东西需要注意:path和[ubuntu_samba]

<1>path决定了Ubuntu要与windows进行共享的文件夹。比如说,我们想让Ubuntu的桌面与windows进行共享,这样我们在Windows中写文件,就会直接出现在Ubuntu的桌面上了。所以,path =/home/book/Desktop。

<2>而[ubuntu_samba]是什么呢?这个跟之后Windows中需要进行的操作有关,现在提一下,之后就知道这里需要注意。

 文件修改之后

(1)修改完文件之后,输入:wq退出VIM。

(2)然后重启samba,输入:sudo service smbd restart

Windows中需要进行的操作

(1)现在我们需要对widows进行配置了,不过首先我们得先知道Ubuntu的IP。在Ubuntu下输入ifconfig,第一个IP地址即是需要记住的。

(2)打开Windows中的此电脑——>\\+IP ——>回车

(3)现在我们将会获得一个文件夹 ubuntu_samba。(为什么我这里会有三个文件夹,之后会进行解释)

(4)右键——>显示更多选项——>映射网络驱动器——>完成。

(5)最后我们打开此电脑,在网络位置里面就会出现ubuntu_samba这个磁盘。我们在这个磁盘内写文件,保存之后,Ubuntu会实时更新。

建立多个共享路径

 (1)很多时候,咱们不可能只共享一个路径。大家也看到了,我上面共享了几个路径。那么我们应该怎么做才能够共享多个路径呢?

(2)步骤很简单,只需要修改两个地方,第一个是path,他的路径改为你需要共享的路径。第二个是[ubuntu_samba],我们可以改为任意名字,比如我将他改为[ubuntu_samba_imx6ull],那么网络中出现的共享文件名字就是ubuntu_samba_imx6ull。

(3)最后,给大家看一下我的配置。至于share_directory这个文件夹是什么时候共享的,我也忘记是什么时候了,怕之后能够用到,就没有删除了。

[share_directory]

        path = /home/book

        available = yes

        public = yes

        guest ok = yes

        read only = no

        writeable = yes
[ubuntu_samba_imx6ull]
        comment = arm ubuntu samba dir
        path =  /home/book/nfs_rootfs
        available = yes
        browseable = yes
        public = yes
        writable = yes
        create mask = 0755
        security = share
        force user = book
        arm force group = book
[ubuntu_samba]
        comment = arm ubuntu samba dir
        path =  /home/book/Desktop
        available = yes
        browseable = yes
        public = yes
        writable = yes
        create mask = 0755
        security = share
        force user = book
        arm force group =book

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

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

相关文章

vue使用Howler实现音乐播放器

vue使用Howler实现音乐播放器 前言一、引入依赖二、封装组件 前言 本文使用Howler.js进行播放。使用siriwave做的播放动画具体文档地址如下 名称地址Howlerhttps://howlerjs.com/siriwavehttps://github.com/kopiro/siriwave 最后实现效果如下&#xff1a; 实现暂停、开始、…

教你如何根据需求编写测试用例,不用写一行代码,使用ChatGPT4自动完成。

首先来张效果图&#xff0c;需求我是放到requirements.txt文档里&#xff0c;输出的测试用例是放到test_case1.txt&#xff0c;整个代码我是让ChatGPT4自动给我写的。 我用的prompt提示语是&#xff1a; 我的想法是这样&#xff0c;通过Python代码&#xff0c;和API keys来实现…

传统制造企业在引入项目管理机制时项目组织结构的重要性

在传统的工业设备制造行业,针对以订单项目为驱动的业务模式,建立一套成熟完备的项目管理机制十分重要,同时也是企业提升自身管理水平精细度的内在要求。项目管理作为外企普遍应用的成熟管理模式,如何将其引入并与民企现存的传统职能型管理模式融合,实现成功嫁接,值得大家思考并…

AD9208之8通道高速采集

板卡概述 FMC168 是 一 款 基 于 VITA57.4 标 准 的2GSPS/2.6GSPS/3GSPS 采样率 14 位分辨率 Double FMC子卡模 块&#xff0c;该模块可以实现 8 路 14-bit、2GSPS/2.6GSPS/3GSPS 采样率模 拟信号采集。该板卡 ADC 器件采用 ADI 公司的 AD9208 芯片,该芯片 与 AD9689 完全…

快商通AI技术再获殊荣,荣膺厦门市“科学技术进步奖”

近日&#xff0c;快商通AI科研项目荣获厦门市“科学技术进步奖”&#xff0c;这是对快商通AI技术研究成果的高度肯定&#xff0c;也是快商通在人工智能领域的又一重大突破。 快商通作为一家技术领先的企业&#xff0c;始终坚持 核心技术自主研发 &#xff0c;致力于将自然语言…

【Linux命令行与shell脚本编程】 一,Shell简介

Linux命令行与shell脚本编程 第一章 Shell简介 目录 Linux命令行与shell脚本编程一,Shell简介1.1 终端(终端仿真器) 41.2 shell 提示符1.2.1 命令历史记录1.2.2 光标移动1.2.3 与 bash手册交互 命令的构成 一,Shell简介 1.1 终端(终端仿真器) 4 让用户访问 shell 使用图形用…

国产操作系统新机遇——小程序容器

信息技术应用创新不仅是各行各业实现数字转型的关键起点&#xff0c;而且还是我国加强网络安全和信息安全的重要手段。 现阶段&#xff0c;微软&#xff0c;谷歌和苹果等外国公司在操作系统市场上占据着几乎垄断的行业地位。国内操作系统行业正在努力改变过去过于分散的状态&a…

从FMCW毫米波雷达系统的性能参数理解4D成像毫米波雷达的设计思路

本文编辑&#xff1a;调皮哥的小助理 站在设计雷达的角度看&#xff0c;其实无论是传统的3D毫米波雷达&#xff0c;还是如今的4D毫米波成像雷达&#xff0c;其雷达系统性能参数都遵循一个原则&#xff0c;即&#xff1a; d res ⋅ v res ⋅ θ res d max ⁡ ⋅ v max ⁡ ⋅ …

全志v851s GPIO 应用程序编写

1. 查看硬件电路图SCH_Schematic1_2022-11-23 &#xff0c;查找合适的gpio 作为使用pin 在这里我们选取 GPIOH14&#xff08;注意目前开发使用这个pin 作为触摸屏的pin脚&#xff0c;需要将触摸屏connect断开&#xff09; &#xff0c;因为 可以通过排插使用杜邦线将其引出&am…

scala特质trait

目录 说明案例动态混入 说明 Scala 语言中&#xff0c;采用特质 trait&#xff08;特征&#xff09;来代替接口的概念&#xff0c;也就是说&#xff0c;多个类具有相同的特质&#xff08;特征&#xff09;时&#xff0c;就可以将这个特质&#xff08;特征&#xff09;独立出来…

rabbitMQ学习总结

RabbitMQ 生产者通过-》通道-》交换机-》投到消息队列-》再通过通道-》消费者 分布式架构 何谓分布式系统 通俗一点: 就是一个请求由服务器端的 多个服务 (服务或者系统)协同处理完成 和单体架构不同的是&#xff0c;单体架构是一个请求发起ivm调度线程(确切的是tomcat线程池)…

yolov5-fastapi-demo更换中文标签

本章是基于yolov5-fastapi-demo项目的更改 WelkinU/yolov5-fastapi-demo: FastAPI Wrapper of YOLOv5 (github.com) 首先&#xff0c;因为训练的时候设置的标签是英文&#xff0c;换成中文要重新训练&#xff0c;而且使用中文训练也很繁琐要改很多东西&#xff0c;因此可以直…

防雷接地国家规范标准介绍与施工技术要点

防雷接地是一种防止雷电对建筑物、设备和人身安全造成危害的措施。在防雷接地系统中&#xff0c;将建筑物、设备、金属构件等导体与地面形成良好的导电连接&#xff0c;以便将雷电通过接地体排放到地下&#xff0c;从而保护建筑物、设备和人身安全不受雷击的影响。防雷接地系统…

mybatis粗心使用导致内存溢出

现象 服务响应变慢&#xff0c;线程日志也出现Java heap space内存溢出的错误&#xff0c;这个服务属于基础业务服务&#xff0c;出现问题要尽快的排查 分析 因为设置了gc日志和jmap启动相关参数 所以我们进行分析&#xff0c;这里模拟线上环境将堆大小参数调整到了128m&am…

Windows逆向安全(一)之基础知识(十七)

指针四 指针数组 什么是指针数组 首先回顾一下先前关于数组的知识&#xff1a; 所谓数组就是用于存储相同数据类型的集合 再结合先前关于指针的知识&#xff1a;指针的本质也是一种数据类型 于是当数组中存储的成员的数据类型为指针时&#xff0c;该数组就可以称为指针数…

2023年的深度学习入门指南(7) - SIMD和通用GPU编程

2023年的深度学习入门指南(7) - SIMD和通用GPU编程 深度学习从一开始就跟GPU有不解之缘&#xff0c;因为算力是深度学习不可或缺的一部分。 时至今日&#xff0c;虽然多任务编程早已经深入人心&#xff0c;但是很多同学还没有接触过CPU上的SIMD指令&#xff0c;更不用说GPGPU…

成为黑客猎手:从零开始学习漏洞挖掘的完整指南

一.了解基础知识 学习计算机网络、操作系统、编程语言等相关基础知识&#xff0c;这些知识对于后续的漏洞挖掘和利用非常重要。具体建议如下&#xff1a; 学习计算机网络基础知识&#xff0c;例如 OSI 模型、TCP/IP 协议、HTTP 协议等。推荐书籍&#xff1a;《计算机网络》。…

qt 动态库/静态库的创建和使用教程(step by step)

一般大型项目中, 会将实现特定功能的函数或类, 封装成链接库, 供应用程序代码调用. 下面我将一步步教你如何在qt 中创建动态库/静态库, 并使用它. 目录 创建多子目录项目创建动态链接库编辑链接库内容创建应用工程并连接动态链接库 创建多子目录项目 首先创建一个多子目录项目…

PHP+python+nodejs+ springboot+vue 社区互助平台

项目介绍 社区互助平台的功能分为管理员和用户两个部分&#xff0c;系统的主要功能包括首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;租房信息管理&#xff0c;失物招领管理&#xff0c;宠物代遛管理&#xff0c;停车位出租管理&#xff0c;其他管理&#xff0c;趣…

哈希表(底层结构剖析--下)

文章目录 开散列哈希桶的模拟实现哈希桶的基本框架增加仿函数将数据类型转换为整型哈希桶的插入函数哈希桶的删除函数哈希桶的查找函数哈希桶的析构函数建议哈希表的大小为素数 开散列与闭散列比较哈希桶的时间复杂度及其测试开散列哈希桶的模拟实现完整代码 开散列哈希桶的模拟…