3.3. 将 Samba 设置为独立服务器
您可以将 Samba 设置为不是域成员的服务器。在此安装模式中,Samb身份验证到本地数据库,而不是中央DC。另外,您可以启用客户机访问,允许用户在没有身份验证的情况下连接到一个或多个服务。
3.3.1. 为独立服务器设置服务器配置
您可以为 Samba 独立服务器设置服务器配置。
流程
安装
samba
软件包:# yum install samba
编辑
/etc/samba/smb.conf
文件并设置以下参数:[global] workgroup = Example-WG netbios name = Server security = user log file = /var/log/samba/%m.log log level = 1
此配置在
Example-learning
工作组里定义了一个名为Server
的独立服务器。此外,此配置启用了最小级别(1
)的日志记录,日志文件将存储在/var/log/samba/
目录中。Samba 将把日志文件
参数中的%m
宏扩展到连接客户端的 NetBIOS 名称。这可为每个客户端启用独立的日志文件。可选:配置文件或打印机共享。请参阅:
验证
/etc/samba/smb.conf
文件:# testparm
如果您设置了需要身份验证的共享,请创建用户帐户。
详情请参阅 创建和启用本地用户帐户。
打开所需的端口并使用
firewall-cmd
工具重新载入防火墙配置:# firewall-cmd --permanent --add-service=samba # firewall-cmd --reload
启用并启动
smb
服务:# systemctl enable --now smb
其它资源
-
smb.conf(5)
手册页
3.3.2. 创建并启用本地用户帐户
要让用户在连接到共享时进行身份验证,您必须在 Samba 主机上的操作系统和 Samba 数据库中创建帐户。Samba 要求操作系统帐户验证文件系统对象上的访问控制列表(ACL)和 Samba 帐户,来验证连接用户的身份。
如果您使用了passdb backend = tdbsam
默认设置,Samba 会将用户帐户存储在/var/lib/samba/private/passdb.tdb
数据库中。
您可以创建一个名为 example
的本地 Samba 用户。
先决条件
- Samba 已安装并配置为独立服务器。
流程
创建操作系统帐户:
# useradd -M -s /sbin/nologin example
此命令添加了
example
帐户,而不创建主目录如果帐户仅用于对 Samba 进行身份验证,请将/sbin/nologin
命令指定为 shell,以防止帐户在本地登录。为操作系统帐户设置密码以启用它:
# passwd example Enter new UNIX password:
password
Retype new UNIX password:password
passwd: password updated successfullySamba 不会使用操作系统帐户中的密码集进行身份验证。然而,您需要设置密码才能启用帐户。如果一个帐户被禁用,当这个用户连接时,Samba 会拒绝访问。
将用户添加到 Samba 数据库,并为帐户设置密码:
# smbpasswd -a example New SMB password:
password
Retype new SMB password:password
Added user example.当使用此帐户连接到 Samba 共享时,使用此密码进行验证。
启用 Samba 帐户:
# smbpasswd -e example Enabled user example.