前言

(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

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

(2)之后在装置进程,会忽然卡住,呈现Do you want to continue? [Y/n] 此刻咱们只需求输入y即可。

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

修正 samba 装备文件

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

(2)由于需求root权限,所以或许会弹出需求输入密码的要求,需求自行输入自己的密码。假如之前在装置samba的时分输入了一次密码,或许就不会弹出再输入一次密码的要求了。

sudo vi /etc/samba/smb.conf

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

(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 一般用户名,就能够取得一般用户组别了。

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

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

(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地址便是需求记住的。

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

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

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

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

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

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

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

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

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

树立多个同享途径

(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