第 3 章 使用 Samba 作为服务器
Samba 在Red Hat Enterprise Linux中实现了服务器消息块(SMB)协议。SMB 协议用于访问服务器上的资源,如文件共享和共享打印机。此外,Samba 实现了Microsoft Windows 使用的分布式计算环境远程过程调用(DCE RPC)协议。
您可以以以下方式运行 Samba:
- Active Directory(AD)或 NT4 域成员
- 独立服务器
NT4 主域控制器(PDC)或备份域控制器(BDC)
注意红帽支持仅在支持 NT4 域的 Windows 版本的现有安装中支持 PDC 和 BDC 模式。红帽建议不要设置新的 Samba NT4 域,因为 Windows 7 和 Windows Server 2008 R2之后的Microsoft操作系不支持 NT4 域。
红帽不支持将 Samba 作为 AD 域控制器(DC)来运行。
有别于安装模式,您可以选择共享目录和打印机。这可让 Samba 充当文件和打印服务器。
3.1. 了解不同的 Samba 服务和模式 复制链接链接已复制到粘贴板!
samba 软件包提供多个服务。根据您的环境和您要配置的场景,您需要一个或多个这些服务,并在不同模式下配置 Samba。
3.1.1. Samba 服务 复制链接链接已复制到粘贴板!
Samba 提供以下服务:
smbd此服务使用 SMB 协议提供文件共享和打印服务。另外,该服务负责资源锁定和验证连接用户。要对域成员进行身份验证,
smbd需要winbindd。smbsystemd 服务启动并停止smbd守护进程。要使用
smbd服务,请安装samba软件包。nmbd此服务通过 IPv4 协议使用 NetBIOS 提供主机名和 IP 解析。除了名字解析之外,
nmbd服务还支持浏览 SMB 网络来查找域、工作组、主机、文件共享和打印机。为此,服务可将此信息直接报告给广播客户端,或者将其转发到本地或主浏览器。nmbsystemd 服务启动并停止nmbd守护进程。请注意,现代 SMB 网络使用 DNS 来解析客户端和 IP 地址。对于 Kerberos,需要一个正常工作的 DNS 设置。
要使用
nmbd服务,请安装samba软件包。winbindd该服务为名字服务交换机(NSS)提供了一个接口,以便使用本地系统上的 AD 或 NT4 域用户和组。例如,这使域用户能够对在 Samba 服务器上托管的服务或其他本地服务进行身份验证。
winbindsystemd 服务启动并停止winbindd守护进程。如果将 Samba 设置为域成员,则必须在
smbd服务运行之前启动winbindd。否则,本地系统将无法使用域用户和组。要使用
winbindd服务,请安装samba-winbind软件包。重要红帽仅支持将 Samba 作为带有
winbindd服务的服务器运行,以便为本地系统提供域用户和组。由于某些限制,如缺少 Windows 访问控制列表(ACL)支持和 NT LAN Manager(NTLM)回退,目前不支持 SSSD。
3.1.2. Samba 安全服务 复制链接链接已复制到粘贴板!
/etc/samba/smb.conf文件中的[global]部分中的security参数管理 Samba 如何验证连接到该服务的用户的身份。根据您在其中安装 Samba 的模式,参数必须设为不同的值:
- 对于 AD 域成员,设置
security = ads 在这个模式中,Samba 使用 Kerberos 来验证 AD 用户。
有关将 Samba 设置为域成员的详情,请参考 将 Samba 设置为 AD 域成员服务器。
- 对于单独服务器,设置
security = user 在这个模式中,Samba 使用本地数据库验证连接用户。
有关将 Samba 设置为独立服务器的详情,请参考 将 Samba 设置为独立服务器。
- 对于NT4 PDC 或 BDC ,设置
security = user - 在此模式中,Samba 将用户身份验证到本地或 LDAP 数据库。
- 对于 NT4 域成员,设置
security = domain 在此模式中,Samba 将连接的用户验证到 NT4 PDC 或 BDC。您不能在 AD 域成员中使用这个模式。
有关将 Samba 设置为域成员的详情,请参考 将 Samba 设置为 AD 域成员服务器。
3.1.3. Samba 服务和 Samba 客户端工具加载并重新载入其配置的情况 复制链接链接已复制到粘贴板!
下面描述了 Samba 服务和工具加载并重新载入其配置:
Samba 服务在以下情况下重新载入其配置:
- 每 3 分钟自动进行
-
在手动请求时,例如运行
smbcontrol all reload-config命令。
- Samba 客户端实用程序仅在启动时读取其配置。
请注意,某些参数(如security )需要重启smb服务才能生效,而重新载入不足以生效。
3.1.4. 以安全的方式编辑 Samba 配置 复制链接链接已复制到粘贴板!
Samba 服务每 3 分钟自动重新载入其配置。要防止服务在您使用 testparm 工具验证配置前重新载入更改,您可以以安全的方式编辑 Samba 配置。
先决条件
- 已安装 Samba。
流程
创建
/etc/samba/smb.conf文件的副本:cp /etc/samba/smb.conf /etc/samba/samba.conf.copy
# cp /etc/samba/smb.conf /etc/samba/samba.conf.copyCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 编辑复制的文件,并进行必要的更改。
验证
/etc/samba/samba.conf.copy文件中的配置:testparm -s /etc/samba/samba.conf.copy
# testparm -s /etc/samba/samba.conf.copyCopy to Clipboard Copied! Toggle word wrap Toggle overflow 如果
testparm报告错误,请修复这些错误,然后再次运行该命令。使用新配置覆盖
/etc/samba/smb.conf文件:mv /etc/samba/samba.conf.copy /etc/samba/smb.conf
# mv /etc/samba/samba.conf.copy /etc/samba/smb.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 等待 Samba 服务自动重新载入其配置或手动重新载入配置:
smbcontrol all reload-config
# smbcontrol all reload-configCopy to Clipboard Copied! Toggle word wrap Toggle overflow