就算你不同时用Windows和Linux这两个系统,我也建议你看一下

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

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

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

[[240427]]

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

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

第二步:配置samba参数文件 

第三步:测试成功与否

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

1.配置文件参数介绍

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

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

global 参数 

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

  • workgroup = 工作组的名称:注意,主机群要相同
  • netbios name = 主机的 NetBIOS 名称啊,每部主机均不同
  • server string = 主机的简易说明,这个随便写即可 
  • 除此之外,还有登录文件方面的信息, 包括这些参数:
  • log file = 登录档放置的档案,文件名可能会使用变量处理;
  • max log size = 登录档***仅能到多少 Kbytes ,若大于该数字,则会被 rotate 掉 
  • 还有跟密码有关的参数,包括这几个:
  • security = user, server, domain, share 四选一,这四个设定值分别代表: 
  • user :使用 SAMBA 本身的密码数据库,密码数据库与底下的 smb passwd file 有关 
  • server, domain:使用外部主机的密码,亦即 SAMBA 是客户端之意,如果设定这个项目,你还得要提供 password server = IP的设定值才行 
  • share:分享的数据不需要密码即可分享
  • encrypt passwords = Yes 代表密码要加密
  • smb passwd file = 密码放置的档案,通常是 /etc/samba/smbpasswd

共享文件参数设置 

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

  • [分享文件夹名称] :这个分享名称很重要,他是一个『代号』而已。
  • comment :分享文件夹的说明
  • path :分享文件夹的路径
  • read only:是否只读
  • public :是否让所有可以登入的用户看到这个项目
  • writable :是否可以写入
  • create mode 和 directory mode 都与权限有关
  • valid users = 用户,这个项目可以指定能够进入到此资源的特定使用者。

2.部署开放的samba服务

新建共享文件夹 

  1. sudo mkdir -p /samba/test  

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

  1. chmod -R 777 /samba/test 

配置参数文件 

用vim打开Samba配置文件 

  1. 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服务 

  1. sudo /etc/init.d/samba restart  

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

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

 

3.部署需要密码的samba服务

添加用户并创建共享文件夹 

创建系统用户 

  1. sudo useradd user01  

设置用户密码 

  1. sudo passwd user01  

把系统用户user01添加为samba用户并设置samba用户登录密码 

  1. sudo smbpasswd -a user01  

查看samba用户 

  1. sudo pdbedit –L  

创建共享目录                

  1. sudo mkdir -p /samba/data  

目录分配***权限 

  1. sudo chmod 777 /samba/data  

更改目录所属用户 

  1. sudo chown root:user1 data 

配置参数文件 

用vim打开Samba配置文件: 

  1. 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/下面, 执行如下命令: 

  1. 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 

参数的意义如下:

  • enp0s316:自己网卡而名称,可以通过ifconfig来查看
  • address:要绑定的ip
  • gateway和netmastk:自己查看电脑的参数。 

***,我们还要使配置生效

  1. /etc/ini.d/network-manager restart 
  2. ifdown enp0s31f6 
  3. ifup enp0s31f6 

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

责任编辑:武晓燕 来源: 轮子工厂
相关推荐

2021-03-15 09:44:39

Broker源码RocketMQ

2021-05-11 16:44:42

Windows工具软件

2018-12-04 15:50:03

转行Python爬虫

2011-10-12 11:07:12

iCloudiOS5苹果

2021-08-05 07:28:27

SQL触发器结构

2020-12-10 10:32:33

区块链比特币数字货币

2020-09-17 09:18:49

iOS 14苹果推送

2020-08-25 20:42:48

Windows 10Windows蓝屏

2022-01-26 22:22:38

LinuxLinus TorvGitHub

2020-02-27 14:05:26

SQLServer数据库

2018-12-20 11:20:47

物联网设备物联网

2022-11-09 11:17:24

tee命令

2021-06-24 07:54:20

vite 静态处理public

2017-08-28 14:47:54

NASSAN存储

2022-04-22 13:04:43

微软Windows 10

2022-05-19 13:28:49

Linux桌面

2023-09-12 08:19:48

接口Controller线程

2021-11-15 09:53:16

STM32PSPMSP

2022-12-25 18:58:53

架构RabbitMQ

2021-12-02 07:50:30

字节缓冲流使用
点赞
收藏

51CTO技术栈公众号