赞
踩
我们都知道两个windows之间可以通过SMB协议进行文件互传,步骤如下:
打开cmd,输入另一个windows的ip地址(\\ip地址),点击确定即可找到两者之间的共享文件,如下所示:
那么linux和windows之间共享文件除了上篇博客用zmodem协议通过rz,sz以命令的形式进行传输之外,还可用samba协议。
一、什么是samba协议?
1、背景
SMB(Server Message Block,服务信息块)协议可以看作是局域网上的共享文件/打印机的一种协议,它可以为网络内部的其它Windows和Linux机器提供文件系统、打印服务或是其他一些信息。
Samba是用来实现SMB的一种软件,是一种在Linux(Unix)环境下运行的免费软件。
2、Samba在Linux下的功能
文件服务和打印服务(在Linux和Win95/NT之间系统之间提供打印机和磁盘的共享)
登陆服务器,使用Windows客户能注册到网络上
作为主要域控制器和域中成员的功能
WINS服务器以及浏览功能
支持SSL(Secure Socket Layer)
支持SWAT (Samba Web Administration Tool )
二、Samba的搭建
1、Samba服务器的安装
sudo apt-get install samba
2、Samba服务器的配置
ubuntu的samba配置文件默认在/etc/samba目录下(其他的Linux发行版本的配置文件可能不在这个路径,可自行百度查找),打开此路径,smb.conf即为配置文件。
在配置之前我们最好先将smb.conf文件备份一下,以免我们在改动的时候改错。
备份命令:sudo cp smb.conf bck_smb.conf
在该路径下能找到复制的文件就说明已经备份好了,下来就是在smb.conf的配置了。那我们应该配置什么呢?
我们需要的Samba服务一般要配置的是我们要共享的目录以及该目录的访问权限。
因为我们用普通用户打开smb.conf是一个只读文件,不可修改,但实际上我们需要对smb.conf的代码进行修改,所以我们要用sudo vi smb.conf 命令。
打开文件后,我们需要在程序末尾输以上的代码。
开头:[共享文件的名称]
comment :标题(字符串形式)
path:要共享的linux的目录的路径
writable:对path的权限,以上我设置的是可写
browseable:对path是否可浏览,已经配置可写了,那可浏览是必须的呀
以上就是samba的配置。
3、samba用户权限
为了使用samba时系统的安全性,我们需要对samba用户权限进行设置,并且samba服务的密码不能和linux用户的密码一致,否则整个系统的文件都可被访问到。对于服务器端来说这是极其不安全的。
设置samba用户权限命令:sudo smbpasswd -a 用户名
-a是增加用户的意思,但是samba设置的用户必须是linux可有的用户。
设置完权限后必须对samba服务进行重启:
Samba的运行包含两个后台守护进程:smbd和nmbd。它们是Samba的核心,在全部时间内运行。nmbd程序使得通过企图计算机可以浏览Linux服务器。Smbd守护进程在SMB软件包到达网上时对它们进行处理,并且为使用或共享它的资源与Linux进行协调。
重启命令:sudo /etc/init.d/smbd
sudo /etc/init.d/nmbd
/etc/init.d/一般是ubuntu中服务的脚本目录,这个目录下的功能一般都是服务器的重启,关闭等。
三、windows客户端访问linux的方式
在windows里用win+R打开运行,输入服务器ip地址,点击确定。
可以看到刚刚修改的smd.conf里面的共享文件名(第一次登陆会弹出用户名和密码,需输入刚刚设置的samba的用户名和密码)
打开该共享文件,可以看到linux里该文件里的目录
该目录在linux里同样可以找到
此时,客户端访问共享文件的设置就完成了。
我们还有另外一种快捷方式对linux的共享文件进行访问,即将共享文件利用网络映射成一个磁盘(类似于u盘的插入和弹出)
打开计算机—>映射网络驱动器,在如下界面选择驱动器(这里可以随便选),在文件夹输入ip地址和共享文件名(格式要对,不然打不开),点击完成,即可直接进入共享文件夹的目录里。
同时多出一个的磁盘,以后要用可直接用鼠标点击磁盘即可。我们也可以直接在这个磁盘里新建、删除或ctrl+c、ctrl+v进行一些windows上能操作的方式(操作和U盘的操作差不多),同时linux的文件夹里的目录同样也会改变。
在我们不使用共享文件的时候点击磁盘右键断开连接。
以上就是samba协议的配置及一些使用方法,想要更深入的了解samba协议的小伙伴可参考https://blog.csdn.net/future_ai/article/details/81631116
还有一点我一直比较迷,这个共享文件夹只有两个很小的txt文件,但是磁盘显示的是已用了10GB,不清楚这个磁盘的容量只是一个共享文件夹的还是整个linux系统的。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。