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

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

前言

(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
目录
相关文章
|
3月前
|
安全 Ubuntu
Ubuntu Samba高危安全漏洞修复
Ubuntu系统中使用的Samba版本存在一个或多个高风险安全漏洞。受影响的Samba版本包括但不限于4.13.x低于4.13.17、4.14.x低于4.14.12以及4.15.x低于4.15.5。这些漏洞可能会允许未经身份验证的攻击者远程执行恶意代码,获取未经授权的访问权限,或者进行其他形式的安全攻击。
148 0
|
3月前
|
Ubuntu Linux 时序数据库
|
4天前
|
Ubuntu 安全 测试技术
Ubuntu 22.04 Samba 安装和配置
SMB(Server Message Block)是一种跨平台的文件共享协议,它允许不同操作系统之间的文件和打印机共享。在本文中,我们将详细介绍如何在 Ubuntu 服务器上部署和配置一个 SMB 服务器,并涵盖多通道配置、性能测试、安全最佳实践以及一些常见问题。【8月更文挑战第1天】
23 1
|
8天前
|
Windows
Windows——windows10下如何和子系统Ubuntu18.04互传文件
Windows——windows10下如何和子系统Ubuntu18.04互传文件
16 1
|
11天前
|
Ubuntu Unix Linux
在Ubuntu安装RPM文件
Ubuntu软件源包含数千个deb软件包,可以从Ubuntu软件中心或使用apt命令行安装。 Deb是所有基于Debian的Linux发行版,例如包括Ubuntu,Linux mint等发行版使用的安装包格式。 如果某些软件在Ubuntu软件源中不可用,可以通过启用适当的软件源来安装,然后使用APT命令安装。 在大多数情况下,当软件开发者不提供软件源时,他们都有一个下载页面,您可以在该页面下载并安装deb软件包,或者下载源码然后编译。 虽然不常见,但某些软件开发者可能会仅发布RPM包格式的文件。RPM是Red Hat及其衍生的Linux发行版,例如如CentOS,Fedora使用软件包
36 5
|
3月前
|
Ubuntu Unix Linux
在Ubuntu安装RPM文件
Ubuntu使用`apt`和`alien`工具安装软件。`deb`是Ubuntu的标准包格式,但通过`alien`可转换及安装`RPM`包。首先确保启用`Universe`源,然后安装`alien`。转换RPM包为DEB包,运行`sudo alien package_name.rpm`,接着用`sudo apt install package_name.deb`安装。直接安装RPM包可使用`sudo alien -i package_name.rpm`,但这种方法不推荐,可能导致依赖性冲突和系统不稳定。
79 10
|
2月前
|
Ubuntu
蓝易云 - ubuntu系统如何将文件打包成tar.gz
这样,"example"目录就会被打包成"example.tar.gz"文件。
94 0
|
3月前
|
Ubuntu
蓝易云 - ubuntu下自启动设置,为了开机自启动launch文件
完成以上步骤后,每次开机时,Ubuntu系统就会自动启动你指定的launch文件了。
82 0
|
3月前
|
Linux 程序员 Shell
【Linux】详解core dump文件的作用以及用法&&ubuntu20.04下无法形成core dump文件的解决办法
【Linux】详解core dump文件的作用以及用法&&ubuntu20.04下无法形成core dump文件的解决办法
111 0
|
3月前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器