6.4 Samba 服务器的设置
本节将通过实例介绍 Samba 服务器的设置方法,利用 Samba 可以实现 Windows 和 Linux
共存的局域网中,不同主机之间进行资源共享。
6.4.1 Samba 概述
1.Samba 简介
Samba 是整合了 SMB(Server Message Block)协议及 Netbios 协议的服务器。SMB 是
1987 年 Microsoft 和 Intel 共同制定的网络通讯协议,主要是作为 Microsoft 网络的通讯协议。
SMB 协议使用了 NetBIOS 的 API,因此它是基于 TCP-NetBIOS 下的一个协议。它与
Unix/Linux 下的 NFS(Network File System)在功用上是相似的,都是让用户端机器能够通
过网络来分享文件系统,但是 SMB 比 NFS 功能强大而且复杂。Samba 将 Windows 使用的
SMB 通讯协议通过“NetBIOS over TCP/IP”搬到了 Unix/Linux。正是由于 Samba 的存在,
使得 Windows 和 Linux 可以集成并且相互通信。
Samba 的核心是两个守护进程 smbd 和 nmbd,服务器到停止期间持续运行。smbd
(139、445)和 nmbd(137、138)使用的全部配置信息保存在 smb.conf 文件中。该文件向
smbd 和 nmbd 两个守护进程说明共享哪些资源,以及如何进行共享。smbd 守护进程的作用
是处理到来的 SMB 数据包、建立会话、验证客户、提供文件系统服务及打印服务等。nmbd
守护进程使得其它主机能够浏览 Linux 服务器。
Samba 服务器能在在网络上共享目录,无论是 Linux 还是 Windows 都能访问,就好像
一台文件服务器一样,可以决定共享目录的访问权限,可以设定只让某个用户、某些用户或
组成员来访问。也能够通过网络共享打印机,可以决定打印机的访问权限。
2.安装 Samba
目前几乎所有的 Linux 发行版都自带了 Samba 服务器,在安装 Linux 系统时选择
【Windows 文件服务器】套件即可,若不清楚 Linux 系统中是否安装 Samba 服务器,可以
在 CLI(命令行界面)方式下或终端窗口(依次选择【应用程序】/【系统工具】/【终端】)
执行 rpm –qa|grep samba 命令,若执行 rpm –qa|grep samba 命令后没有输出任何信息,表明
没有安装 Samba 服务器。此时可以采用第 5 章所讲内容安装 Samba 服务器。
3.启动 Samba
安装好 Samba 服务器之后,就可以启动它了。
# systemctl restart smb //用来启动(重启)Samba 服务器
# systemctl status smb //用来查看 Samba 服务器的运行状态
或者 smbstatus