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

举报
风正豪 发表于 2023/07/31 09:56:47 2023/07/31
【摘要】 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


【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。