windows之间的文件共享很简单,但是如果要实现windows和linux之间的文件共享,该怎么办呢?特别是在一个团队中,一般会有一台装有linux系统的服务器,这个需求就显得很迫切。

samba很好的解决了这个痛点。Samba 是 SMB/CIFS 网络协议的重新实现, 它作为 NFS 的补充使得在 Linux 和 Windows 系统中进行文件共享、打印机共享更容易实现。ubuntu系统一般自带samba服务,不需要我们单独安装。

samba的部署很简单,只需要三部:

第一步:创建共享文件夹,并赋予相应的权限

第二步:配置samba参数文件

第三步:测试成功与否

下面以ubuntu16.04 为例来说明如部署该服务。

1配置文件参数介绍

在正式开始部署之前,我们先来了解一下samba 配置文件的详细参数。对文件共享服务要求不是很高的读者可以跳过这一步。直接开始我们的”三部曲“。如果想要配置更为复杂的文件共享服务,可以后面再来参考这部分。

samba的配置文件为/etc/samba/smb.conf,通过修改这个配置文件来可以完成我们的各种需求。

global 参数

在 global 当中的就是一些主机的整体参数了,包括工作组、主机的 NetBIOS 名称、字符编码的显示、登录文件的设定、 是否使用密码以及使用密码验证的机制等等。在 [global] 部分关于主机名信息方面的参数主要有:

共享文件参数设置

[分享文件夹名称] 是针对你开放的目录来进权限方面的设定,包括谁可以浏览该目录、是否可以读写等参数。

2部署开放的samba服务

新建共享文件夹

sudo mkdir -p /samba/test

注意,一定要给文件设置正确的权限。

chmod -R 777 /samba/test

配置参数文件

用vim打开Samba配置文件

sudo vim /etc/samba/smb.conf

注意:建议大家把这里面的配置信息全部删掉,然后全部自己重写,以免信息的错乱。

修改配置文件为

  1. [global]

  2. workgroup = WORKGROUP

  3. server string = Samba Server %v

  4. netbios name = ubuntu

  5. security = user

  6. map to guest = bad user

  7. dns proxy = no

  8. [temp]

  9. path =/samba/test

  10. browsable =yes

  11. writable = yes

  12. guest ok = yes

  13. read only = no

  14. creat mode=777

  15. force creat mode=777

  16. directory mode = 777

  17. force directory mode = 777

测试

重启samba服务

sudo /etc/init.d/samba restart

在ubuntu上的浏览器上输入file://192.168.1.11/看能否访问到共享文件“`(注意,要把ip地址换成是自己的服务器的地址),看似否可以访问自己的共享目录。

smb.conf_smb.conf_smb.conf

在windows上打开资源管理器直接输入\192.168.1.11直接访问。尝试通过拖放将文件上传到共享,看看它是否正常工作,传输速度如何。注意,在windows端显示的共享文件夹的名称是参数配置文件中文件夹的名称,这里为temp)

smb.conf_smb.conf_smb.conf

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

配置参数文件

用vim打开Samba配置文件:

sudo vim /etc/samba/smb.conf

修改配置文件为

  1. [global]

  2. workgroup = WORKGROUP

  3. server string = Samba Server %v

  4. netbios name = ubuntu

  5. security = user

  6. map to guest = bad user

  7. dns proxy = no

  8. [data]

  9. path =/samba/data

  10. browsable =yes

  11. writable = yes

  12. guest ok = no

  13. read only = no

  14. valid users=@user1

测试

测试和上面的一样,在windows端进入,点击data文件夹,会发现提示输入用户和密码,输入对应的用户名和密码,拖拽文件进行测试。

4绑定服务器ip(可选)

服务器重启后,路由器会重新分配ip,这给使用带来了很大的不方便。我们最好把服务器的地址绑定到某个固定的ip。这里我们以绑定到192.168.1.11为例。

网络参数文件位于/etc/network/下面, 执行如下命令:

suod gedit /etc/network/interfaces

添加以下内容

  1. auto lo

  2. iface lo inet loopback

  3. auto enp0s31f6

  4. iface enp0s31f6 inet static

  5. address 192.168.1.11

  6. gateway 192.168.1.1

  7. netmask 255.255.255.0

参数的意义如下:

  1. /etc/ini.d/network-manager restart

  2. ifdown enp0s31f6

  3. ifup enp0s31f6

至此,是不是觉得samba的部署既简单,又实用,如果感觉有用的话,就赶紧行动起来吧。

为你推荐以下文章

限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注