Red Hat Training

A Red Hat training course is available for RHEL 8

3.3. 将 Samba 设置为独立服务器

您可以将 Samba 设置为不是域成员的服务器。在此安装模式中,Samb身份验证到本地数据库,而不是中央DC。另外,您可以启用客户机访问,允许用户在没有身份验证的情况下连接到一个或多个服务。

3.3.1. 为独立服务器设置服务器配置

您可以为 Samba 独立服务器设置服务器配置。

流程

  1. 安装samba软件包:

    # yum install samba
  2. 编辑/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 名称。这可为每个客户端启用独立的日志文件。

  3. (可选)配置文件或打印机共享。请参阅:

  4. 验证/etc/samba/smb.conf文件:

    # testparm
  5. 如果您设置了需要身份验证的共享,请创建用户帐户。

    详情请参阅 创建和启用本地用户帐户

  6. 打开所需的端口并使用firewall-cmd工具重新载入防火墙配置:

    # firewall-cmd --permanent --add-service=samba
    # firewall-cmd --reload
  7. 启用并启动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 已安装并配置为独立服务器。

流程

  1. 创建操作系统帐户:

    # useradd -M -s /sbin/nologin example

    此命令添加了example帐户,而不创建主目录如果帐户仅用于对 Samba 进行身份验证,请将/sbin/nologin命令指定为 shell,以防止帐户在本地登录。

  2. 为操作系统帐户设置密码以启用它:

    # passwd example
    Enter new UNIX password: password
    Retype new UNIX password: password
    passwd: password updated successfully

    Samba 不会使用操作系统帐户中的密码集进行身份验证。然而,您需要设置密码才能启用帐户。如果一个帐户被禁用,当这个用户连接时,Samba 会拒绝访问。

  3. 将用户添加到 Samba 数据库,并为帐户设置密码:

    # smbpasswd -a example
    New SMB password: password
    Retype new SMB password: password
    Added user example.

    当使用此帐户连接到 Samba 共享时,使用此密码进行验证。

  4. 启用 Samba 帐户:

    # smbpasswd -e example
    Enabled user example.