您现在的位置是:首页 >技术教程 >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