windows之间的文件共享很简单,但是如果要实现windows和linux之间的文件共享,该怎么办呢?特别是在一个团队中,一般会有一台装有linux系统的服务器,这个需求就显得很迫切。
samba很好的解决了这个痛点。Samba 是 SMB/CIFS 网络协议的重新实现, 它作为 NFS 的补充使得在 Linux 和 Windows 系统中进行文件共享、打印机共享更容易实现。ubuntu系统一般自带samba服务,不需要我们单独安装。
samba的部署很简单,只需要三部: 第一步:创建共享文件夹,并赋予相应的权限 第二步:配置samba参数文件 第三步:测试成功与否
下面以ubuntu16.04 为例来说明如部署该服务。
1配置文件参数介绍
在正式开始部署之前,我们先来了解一下samba 配置文件的详细参数。对文件共享服务要求不是很高的读者可以跳过这一步。直接开始我们的”三部曲“。如果想要配置更为复杂的文件共享服务,可以后面再来参考这部分。 samba的配置文件为/etc/samba/smb.conf,通过修改这个配置文件来可以完成我们的各种需求。
2部署开放的samba服务
sudo mkdir -p /samba/test
注意,一定要给文件设置正确的权限。
chmod -R 777 /samba/test
sudo vim /etc/samba/smb.conf
注意:建议大家把这里面的配置信息全部删掉,然后全部自己重写,以免信息的错乱。
修改配置文件为[global]workgroup = WORKGROUPserver string = Samba Server %vnetbios name = ubuntusecurity = usermap to guest = bad userdns proxy = no[temp]path =/samba/testbrowsable =yeswritable = yesguest ok = yesread only = nocreat mode=777force creat mode=777directory mode = 777force directory mode = 777
sudo /etc/init.d/samba restart
在ubuntu上的浏览器上输入file://192.168.1.11/
看能否访问到共享文件```(注意,要把ip地址换成是自己的服务器的地址),看似否可以访问自己的共享目录。
在windows上打开资源管理器直接输入\\192.168.1.11
直接访问。尝试通过拖放将文件上传到共享,看看它是否正常工作,传输速度如何。注意,在windows端显示的共享文件夹的名称是参数配置文件中文件夹的名称,这里为temp)
3部署需要密码的samba服务
sudo useradd user01
设置用户密码
sudo passwd user01
把系统用户user01添加为samba用户并设置samba用户登录密码
sudo smbpasswd -a user01
查看samba用户
sudo pdbedit –L
创建共享目录
sudo mkdir -p /samba/data
目录分配最高权限
sudo chmod 777 /samba/data
更改目录所属用户
sudo chown root:user1 data
sudo vim /etc/samba/smb.conf
修改配置文件为[global]workgroup = WORKGROUPserver string = Samba Server %vnetbios name = ubuntusecurity = usermap to guest = bad userdns proxy = no[data]path =/samba/databrowsable =yeswritable = yesguest ok = noread only = novalid users=@user1
4绑定服务器ip(可选)
服务器重启后,路由器会重新分配ip,这给使用带来了很大的不方便。我们最好把服务器的地址绑定到某个固定的ip。这里我们以绑定到192.168.1.11为例。
网络参数文件位于/etc/network/下面, 执行如下命令:
suod gedit /etc/network/interfaces
添加以下内容
auto loiface lo inet loopbackauto enp0s31f6iface enp0s31f6 inet staticaddress 192.168.1.11gateway 192.168.1.1netmask 255.255.255.0
参数的意义如下:
ifconfig
来查看/etc/ini.d/network-manager restartifdown enp0s31f6ifup enp0s31f6
至此,是不是觉得samba的部署既简单,又实用,如果感觉有用的话,就赶紧行动起来吧。