一、Samba是什么
samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于Client\Server型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。samba服务程序已经成为在Linux系统和Windows系统之间共享文件的最佳选择,当然在Linux系统与Linux系统之间的文件共享也选择samba。
二、实现共享的方法
1、下载Samba
sudo apt-get install samba
2、配置smb.conf
在root下使用以下命令进入smb.conf
vim /etc/samba/smb.conf
添加以下命令:
[share_code] //window下看见的共享文件夹名称
path=/home/wds/share_code //Linux的共享文件夹路径
writeable=yes //允许写入
guest ok=yes //允许允许匿名用户访问
browseable = yes //允许游览
得如下结果,然后保存退出。
3、创建共享目录
mkdir /share_code
4、查看文件夹的权限情况
ls -l|grep share_code
输出结果:
drwxrwxr-x 2 wds wds 4096 Oct 6 22:33 share_code
可以看到该文件夹的拥有者和它所属于的用户组是都是wds,且都具有可读写和可执行的权限(rwxrwx),而其他用户只有读和可执行的权限,不可写(r-x)。
此时我们尝试进入共享文件夹并写入文件:
(1)查看IP地址,使用ifconfig
命令可查看IP地址
(2)在window端输入该IP地址
点击确定,进入共享文件夹
进入share_code文件夹,并尝试新建一个文件,会显示“你需要提供权限”。这表明我们不能进行写入,这和我们上面的分析一样,从windows进入文件夹,属于其他用户,而其他用户自有读和执行的权限。
5、修改文件夹权限
使用chmod 777 share_code
命令修改文件夹权限,再次使用ls -l|grep share_code查看该文件夹权限。
wds@ubuntu:~$ chmod 777 share_code
wds@ubuntu:~$ ls -l|grep share_code
drwxrwxrwx 2 wds wds 4096 Oct 6 22:33 share_code
可以看出,文件夹的权限已经修改,对于其他用户,也可以进行读、写、执行的权限。
6、在windows进行删减文件夹内容
这时我们可以在Windows端对共享文件夹进行文件删减,在Linux可以见。比如从Windows新建一个name.c文件
从Linux查看share_code文件夹内容:
就此,我们实现了Linux与Windows的文件共享。
当然,Linux与Windows共享文件的方法不止这一种,我们的这种方法是在Linux建立文件夹,从Windows进行访问。也可以在Windows建立共享文件夹,其实现如下:Linux与Windows设置共享文件夹的实现。