搭建Samba(CIFS)服务器

0    233    1

👉 本文共约3595个字,系统预计阅读时间或需14分钟。

Samba的基本概念

Samba服务:是提供基于Linux和Windows的共享文件服务,服务端和客户端都可以是Linux或Windows操作系统。可以基于特定的用户访问,功能比NFS更强大。Samba服务器主要是用来实现SMB协议的,那SMB协议又是什么呢,它是能让我们在局域网上共享文件和打印机的一种协议,也就是通过这个实现这个协议我们的客户机就可以访问服务器上的共享文件系统、打印机以及其他资源。

Samba与ftp和nfs的区别:

  • ftp:基于Linux和Windows共享文件的服务,但是不安全,因为ftp可以匿名访问,匿名用户可以获取读写权限,所以不常用
  • nfs:只能做Linux的共享文件服务,服务端和客户端都只能是Linux操作系统

samba的服务名、对应端口号及作用:

  • smbd:139 提供文件的共享访问
  • nmbd:445 提供基于域名的访问

Samba服务搭建步骤

目标:搭建一个基于Linux的samba服务,共享给Windows和Linux的客户端去访问

Server端配置步骤

1、安装Samba的所有包

2、创建Samba的共享文件夹和标记文件并且修改权限

3、查看Samba配置目录

  • smb.conf -> Samba的主配置文件
  • smb.conf.exampl -> Samba的示例文件

4、打开Samba的示例文件

克隆会话进行下面selinux的配置,或者直接关闭SELinux,修改文件“/etc/sysconfig/selinux”

5、编辑Samba的主配置文件

加入:

编辑时,去掉注释

smb.conf文件的配置内容的含义:

[global]:全局设置

[homes]:用户目录共享设置

[printers]:打印机共享设置

[common]:自定义名称的共享目录设置

workgroup:所在工作组名称

security:安全级别,可用值为:share、user、server、domain

passwd backend:设置共享账户文件的类型

注意:Samba服务设置的读取、写入权限,优先级要低于文件系统中设置的权限

6、检测Samba配置文件格式是否正确

7、创建Samba用户(前提:必须是系统存在的用户)

8、查看所有Samba用户

9、启动samba服务并设置为开机自启

10、查看端口(139,445)启动情况(如果命令不可用,需要安装net-tools包)

本人提供Oracle、MySQL、PG等数据库的培训和考证业务,私聊QQ646634621或微信db_bao,谢谢!

11、关闭防火墙

Client端配置步骤

1、Windows作Client

访问:\\192.168.1.35,然后输入用户和密码即可访问

CIFS特点:windows会自动记录上次访问的用户,所以第一次访问的用户,下一次仍旧默认使用该用户访问。

解决用户切换的方法: 进入cmd,输入net use * /del命令,等待若干分钟后,即可切换其他用户登录Samba服务器。

2、Linux作Client

1)单用户访问:

方法一:使用Samba的Linux客户端软件访问

方法二:使用挂载方式访问

2)多用户访问:

原文链接:https://www.cnblogs.com/wzgwzg/p/15558926.html

windows通过cifs共享文件到局域网linux系统

Windows 2016系统请参考:https://www.opss.cn/936.html

1.首先需要在windows中启用如图所示:

搭建Samba(CIFS)服务器

2.共享的文件需要设置为Everyone权限:

搭建Samba(CIFS)服务器

3.在linux(ubuntu)系统中安装 smbclit cifs-utils软件包:

4.进行挂载windows下共享的文件:

mount.cifs亦可用 mount -t cifs替代

\5. 需要对共享的文件进行操作时则挂载使用uid gid设置文件权限,默认是root

通过查看linux /etc/passwd 文件可获知用户uid gid等各种信息

NFS、CIFS和FTP的区别

  • NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它适用于类unix操作系统,允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。这是SUN为Unix系统开发的网络文件系统,目前大多数Unix/Linux已经默认整合并支持NFS,但是windows上并没有原生支持,还是需要安装专用客户端来使用。它的优点是功能简单,本质是远程文件系统,可以被UnixLinux远程挂载,但是它的缺点也非常明显,NFS是基于IP地址进行访问控制的,没有什么用户名口令加密之类的东西,也就是你如果允许192.168.1.2这个ip地址的设备访问你的文件系统,你无法确定使用这个ip地址的究竟是谁,安全性非常差,一般只使用在例如云主机,大公司内部网络等管理严格的网络环境下,其他场合的应用几乎是零。

  • CIFS 是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS 使用客户/服务器模式,客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行,而不像TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议如文件传输协议和超文本传输协议的一个实现。
    CIFS:这是微软Common intermnet file system (SMB协议,目前已经到了第三版)的缩写,采用C/S架构,基于块传输,协议本身已经整合到操作系统内部,因此不需要安装任何第三方软件就可以使用,但是Linux/Unix并没有支持这个协议,因此通过samba软件来实现部分兼容的,CIFS支持的功能多达几百个,非常复杂。它的优点就是windows平台操作系统整合的原生支持功能,易于使用,缺点是不能跨越网关,也就是只能在家庭或者公司内部网络使用,而且大文件传输效率不高,因为它是基于块传输的。

  • FTP: 这是基于RFC959协议基础上发展起来的跨平台文件传输协议,非常成熟,任意一个主流操作系统上都有成百上千的服务器端和客户端软件
    微软的windows资源管理器甚至可以直接映射Ftp资源,它的优点是平台无关,非常成熟,高效,许多支持流播放的播放器例如VLC MPV等默认支持FTP流它的缺点是无法象CIFS/NFS等锁定文件进行远程文件编辑,没有被操作系统默认安装,因为它设计之初就不是一个文件系统协议,没有锁定设计

传输效率的说明︰
CIFS是块传输贯穿于整个传输过程,而且设计之初就是用来传输小文件的,在大文件传输中效率是最差的。

NFS属于远程文件系统映射,除了RPC远程映射的代价,连续读写效率是非常高的。
FTP是专为文件传输设计的,传输本身效率是三个协议里最高的,但是由于每传输一个文件就要重新打开端口协商握手一次,拖累了传输整体.

下面是几种常见文件共享传输协议的对比:搭建Samba(CIFS)服务器 img 搭建Samba(CIFS)服务器

参考:http://www.phoenixp2p.com/cn/xwhy.htm

总结

  1,防火墙要关闭, # service iptables stop

  2,selinux要设置成disabled,路径是/etc/sysconfig/selinux

  3,注意共享目录的权限设置

  4,要设置成不需要用户名密码直接访问,需要修改配置文件,将security设置成security = share。

使用smbpasswd添加共享用户的常用方法:

    smbpasswd -a 添加用户(被添加用户必须是系统用户)

    smbpasswd -d 冻结用户 (这个用户不能用了)

    smbpasswd -e 恢复用户 (将冻结的用户解冻)

    smbpasswd -n 将用户密码设置为空

    smbpasswd -x 删除用户

    头像

    小麦苗

    学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

    您可能还喜欢...

    发表评论

    您的电子邮箱地址不会被公开。

    19 + 14 =

     

    嘿,我是小麦,需要帮助随时找我哦
    • 18509239930
    • 个人微信

    • 麦老师QQ聊天
    • 个人邮箱
    • 点击加入QQ群
    • 个人微店

    • 回到顶部
    返回顶部