第 16 章 文件和打印服务器
本章将引导您完成 Samba 的安装和配置,这是 服务器信息块( SMB)和 通用互联网文件系统 (CIFS
)协议的开源实施,以及由 Red Hat Enterprise Linux 提供的主 FTP 服务器。此外,还介绍了如何使用 "打印设置" 工具来配置打印机。
16.1. Samba
Samba 在红帽企业 Linux 中实施服务器消息块(SMB)协议。SMB 协议用于访问服务器上的资源,如文件共享和共享打印机。此外,Samba 实施由 Microsoft Windows 使用的分布式计算环境远程过程调用(DCE RPC)协议。
您可以以以下方式运行 Samba:
- Active Directory(AD)或 NT4 域成员
- 独立服务器
NT4 主域控制器(PDC)或备份域控制器(BDC)
注意红帽仅在支持 NT4 域的现有安装中支持这些模式。红帽建议不要设置新的 Samba NT4 域,因为 Microsoft 操作系统稍后于 Windows 7 和 Windows Server 2008 R2 不支持 NT4 域。
独立于安装模式,您可以选择共享目录和打印机。这可让 Samba 充当文件和打印服务器。
红帽不支持将 Samba 作为 AD 域控制器(DC)运行。
16.1.1. Samba 服务
Samba 提供以下服务:
smbd
此服务使用 SMB 协议提供文件共享和打印服务。另外,该服务负责资源锁定和验证连接用户。
smb
systemd
服务启动并停止smbd
守护进程。要使用
smbd
服务,请安装 samba 软件包。nmbd
此服务通过 IPv4 协议使用 NetBIOS 提供主机名和 IP 解析。除了名称解析之外,
nmbd
服务还支持浏览 SMB 网络来查找域、工作组、主机、文件共享和打印机。为此,服务可将此信息直接报告给广播客户端,或者将其转发到本地或主浏览器。nmb
systemd
服务启动并停止nmbd
守护进程。请注意,现代 SMB 网络使用 DNS 解析客户端和 IP 地址。
要使用
nmbd
服务,请安装 samba 软件包。winbindd
winbindd
服务为名称服务交换机(NSS)提供接口,以使用 AD 或 NT4 域用户和组在本地系统上。例如,这使域用户能够向 Samba 服务器托管的服务或其他本地服务进行身份验证。winbind
systemd
服务启动并停止winbindd
守护进程。如果将 Samba 设置为域成员,必须在
smb
。否则,本地系统无法使用域用户和组。d 服务之前启动 winbind
d要使用
winbindd
服务,请安装 samba-winbind 软件包。重要红帽仅支持将 Samba 作为带有
winbindd
服务的服务器运行,以便为本地系统提供域用户和组。由于某些限制,如缺少 Windows 访问控制列表(ACL)支持和 NT LAN Manager(NTLM)回退,这些用例目前不支持使用带有 Samba 的系统安全服务守护进程(SSSD)。详情请查看 Red Hat 知识库文章在 IdM 客户端上运行的 Samba 文件服务器的支持状态是什么,或直接注册了 SSSD 用作客户端守护进程的 AD 客户端。
16.1.2. 使用 testparm
实用程序验证 smb.conf
文件
testparm
实用程序验证 /etc/samba/smb.conf
文件中的 Samba 配置是否正确。实用程序检测无效的参数和值,但也检测不正确的设置,如 ID 映射。如果 testparm
报告没有问题,Samba 服务将成功加载 /etc/samba/smb.conf
文件。请注意,testparm
无法验证配置的服务是否可用或按预期工作。
红帽建议在每次修改此文件后使用 testparm
来验证 /etc/samba/smb.conf
文件。
要验证 /etc/samba/smb.conf
文件,请以 root 用户身份运行 testparm
实用程序。如果 testparm
报告了配置中不正确的参数、值或其他错误,请修复问题并再次运行 实用程序。
例 16.1. 使用 testparm
以下输出报告了一个不存在的参数和不正确的 ID 映射配置:
~]# testparm Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Unknown parameter encountered: "log levell" Processing section "[example_share]" Loaded services file OK. ERROR: The idmap range for the domain * (tdb) overlaps with the range of DOMAIN (ad)! Server role: ROLE_DOMAIN_MEMBER Press enter to see a dump of your service definitions # Global parameters [global] ... [example_share] ...
16.1.3. 了解 Samba 安全模式
/etc/samba/smb.conf
文件中的 [global]
部分中的 security
参数管理 Samba 如何验证连接到该服务的用户的身份。根据您在其中安装 Samba 的模式,参数必须设为不同的值:
在 AD 域成员中,设置
security
=ads
。在这个模式中,Samba 使用 Kerberos 来验证 AD 用户。
有关将 Samba 设置为域成员的详情,请参考 第 16.1.5 节 “将 Samba 设置为域成员”。
在单机服务器上,设置
security
=user
。在这个模式中,Samba 使用本地数据库验证连接用户。
有关将 Samba 设置为单机服务器的详情,请参考 第 16.1.4 节 “将 Samba 设置为单机服务器”。
在 NT4 PDC 或 BDC 上,设置
security
=user
.在此模式中,Samba 将用户身份验证到本地或 LDAP 数据库。
在 NT4 域成员上,设置
security
=domain
。在此模式中,Samba 验证将用户连接到 NT4 PDC 或 BDC 的身份。您不能在 AD 域成员中使用这个模式。
有关将 Samba 设置为域成员的详情,请参考 第 16.1.5 节 “将 Samba 设置为域成员”。
详情请查看 smb.conf(5)man page 中的 security
参数描述。
16.1.4. 将 Samba 设置为单机服务器
在某些情况下,管理员希望设置不属于某个域成员的 Samba 服务器。在此安装模式中,Samba 对用户进行本地数据库而非中央 DC 身份验证。另外,您可以启用客户机访问,允许用户在没有身份验证的情况下连接到一个或多个服务。
16.1.4.1. 为单机服务器设置服务器配置
将 Samba 设置为单机服务器:
将 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 名称。这可为每个客户端启用独立的日志文件。详情请查看 smb.conf(5)man page 中的参数描述。
配置文件或打印机共享.请参阅:
验证
/etc/samba/smb.conf
文件:~]# testparm
- 如果您设置了需要身份验证的共享,请创建用户帐户。详情请查看 第 16.1.4.2 节 “创建和启用本地用户帐户”。
打开所需的端口并使用
firewall-cmd
工具重新载入防火墙配置:~]# firewall-cmd --permanent --add-port={139/tcp,445/tcp} ~]# firewall-cmd --reload
启动
smb
服务:~]# systemctl start smb
另外,还可在系统引导时启用
smb
服务自动启动:~]# systemctl enable smb
16.1.4.2. 创建和启用本地用户帐户
要让用户在连接到共享时进行身份验证,您必须在操作系统和 Samba 数据库中在 Samba 主机上创建帐户。Samba 要求操作系统帐户验证文件系统对象上的访问控制列表(ACL)和 Samba 帐户,从而对连接用户进行身份验证。
如果您使用 passdb backend = tdbsam
默认设置,Samba 会将用户帐户存储在 /var/lib/samba/private/passdb.tdb
数据库中。
例如
,要创建 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 successfully
Samba 不会使用操作系统帐户中的密码集进行身份验证。然而,您需要设置密码才能启用帐户。如果一个帐户被禁用,当这个用户连接时,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.
16.1.5. 将 Samba 设置为域成员
运行 AD 或 NT4 域的管理员通常希望使用 Samba 将其红帽企业 Linux 服务器作为该域的成员加入。这可让您:
- 访问其他域成员上的域资源
-
向本地服务(如
sshd
)验证域用户 - 托管在服务器上的共享目录和打印机,以充当文件和打印服务器
16.1.5.1. 加入域
要将 Red Hat Enterprise Linux 系统加入到域中:
将 Red Hat Enterprise Linux 系统加入一个域
安装以下软件包:
~]# yum install realmd oddjob-mkhomedir oddjob samba-winbind-clients \ samba-winbind samba-common-tools
要在域成员中共享目录或打印机,请安装 samba 软件包:
~]# yum install samba
如果您加入 AD,还要安装 samba-winbind-krb5-locator 软件包:
~]# yum install samba-winbind-krb5-locator
此插件可让 Kerberos 根据使用 DNS 服务记录的 AD 站点查找密钥分发中心(KDC)。
另外,还可重命名现有的
/etc/samba/smb.conf
Samba 配置文件:~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.old
加入域。例如,要加入名为
ad.example.com
的域~]# realm join --membership-software=samba --client-software=winbind ad.example.com
使用上一命令,
realm
工具会自动:-
为
ad.example
文件.com 域中的成员资格创建 /etc/samba/smb.
conf -
将用户和组查找的
winbind
模块添加到/etc/nsswitch.conf
文件中 -
更新
/etc/pam.d/
目录中的可插拔验证模块(PAM)配置文件 启动
winbind
服务并使服务在系统引导时启动有关
realm
实用程序的详情,请查看 域(8)man page 和 Red Hat Windows 集成指南中 的对应章节。
-
为
-
(可选)在
/etc/samba/smb.conf
文件中设置替代 ID 映射后端或自定义 ID 映射设置。详情请查看 第 16.1.5.3 节 “了解 ID 映射”。 - (可选)验证配置。请参阅 第 16.1.5.2 节 “验证 Samba 正确加入为域成员”。
验证
winbindd
是否正在运行:~]# systemctl status winbind
重要要启用 Samba 查询域用户和组信息,必须在启动
smb
服务。d 之前运行 winbind
d如果您安装了 samba 软件包来共享目录和打印机,请启动
smbd
服务:~]# systemctl start smb
16.1.5.2. 验证 Samba 正确加入为域成员
加入红帽企业 Linux 作为域成员后,您可以运行不同的测试来验证该连接是否成功。请参阅:
验证操作系统是否可以恢复域用户帐户和组
使用 getent
实用程序验证操作系统是否可以检索域用户和组。例如:
查询
AD
域中的管理员
帐户:~]# getent passwd AD\\administrator AD\administrator:*:10000:10000::/home/administrator@AD:/bin/bash
查询
AD
域中Domain Users
组的成员:~]# getent group "AD\\Domain Users" AD\domain users:x:10000:user
如果 命令正常工作,请验证您可以在设置文件和目录的权限时使用域用户和组。例如,将 /srv/samba/example.txt
文件的所有者设置为 AD\administrator
,组设置为 AD\Domain Users
:
~]# chown "AD\administrator":"AD\Domain Users" /srv/samba/example.txt
验证 AD 域用户是否可以获取 Kerberos 票据
在 AD 环境中,用户可以从 DC 获取 Kerberos 票据。例如,验证 管理员用户
是否可以获取 Kerberos 票据:
若要使用 kinit
和 klist
实用程序,可在 Samba 域成员 上安装 krb5-workstation 软件包。
获取 Kerberos 票据
获取
administrator@AD.EXAMPLE.COM
主体的票据:~]# kinit administrator@AD.EXAMPLE.COM
显示缓存的 Kerberos ticket:
~]# klist Ticket cache: KEYRING:persistent:0:0 Default principal: administrator@AD.EXAMPLE.COM Valid starting Expires Service principal 11.09.2017 14:46:21 12.09.2017 00:46:21 krbtgt/AD.EXAMPLE.COM@AD.EXAMPLE.COM renew until 18.09.2017 14:46:19
列出可用的域
要通过 winbindd
服务列出所有可用的域,请输入:
~]# wbinfo --all-domains
如果 Samba 成功作为域成员加入,命令可显示内置和本地主机名,以及包含受信任域的成员。
例 16.2. 显示可用域
~]# wbinfo --all-domains
BUILTIN
SAMBA-SERVER
AD
16.1.5.3. 了解 ID 映射
Windows 域通过唯一的安全标识符(SID)区分用户和组。但是,Linux 需要为每个用户和组群有唯一的 UID 和 GID。如果您以域成员身份运行 Samba,winbindd
服务负责向操作系统提供域用户和组的信息。
要启用 winbindd
服务为用户和组向 Linux 提供唯一 ID,您必须在 /etc/samba/smb.conf
文件中为以下目的配置 ID 映射:
- 本地数据库(默认域)
- Samba 服务器所属的 AD 或 NT4 域
- 每个用户必须能够访问这个 Samba 服务器上的资源的可信域
16.1.5.3.1. 规划 ID 范围
无论您是在 AD 中存储 Linux UID 和 GID,还是将 Samba 配置为生成它们,每个域配置都需要一个唯一的 ID 范围,不得与任何其他域重叠。
如果您设置了重叠 ID 范围,Samba 无法正常工作。
例 16.3. 唯一的 ID 范围
以下显示了默认(*
)、AD-DOM 和
域的非覆盖 ID 映射范围。
TRUST-DOM
[global] ... idmap config * : backend = tdb idmap config * : range = 10000-999999 idmap config AD-DOM:backend = rid idmap config AD-DOM:range = 2000000-2999999 idmap config TRUST-DOM:backend = rid idmap config TRUST-DOM:range = 4000000-4999999
每个域只能分配一个范围。因此,在域范围之间有足够的空间。这可让您在域扩展后扩展范围。
如果您稍后将不同的范围分配给某个域,这些用户和组之前创建的文件和目录的所有权将会丢失。
16.1.5.3.2. *
默认域
在域环境中,您可以为以下每个情况添加一个 ID 映射配置:
- Samba 服务器所属的域
- 每个可以访问 Samba 服务器的可信域
但是,对于所有其他对象,Samba 会从默认域分配 ID。这包括:
- 本地 Samba 用户和组
-
Samba 内置帐户和组,如
BUILTIN\Administrators
您必须配置默认域,如本节所述,才能使 Samba 正常运行。
默认域后端必须可写,才能永久存储分配的 ID。
对于默认域,您可以使用以下后端之一:
tdb
当您将默认域配置为使用
tdb
后端时,设置一个足够大的 ID 范围,使其包含将来将要创建并且不属于定义的域 ID 映射配置的对象。例如,在
/etc/samba/smb.conf
文件中的[global]
部分中设置以下内容:idmap config * : backend = tdb idmap config * : range = 10000-999999
autorid
当您将默认域配置为使用
自动后端
时,可以为域添加额外的 ID 映射配置是可选的。例如,在
/etc/samba/smb.conf
文件中的[global]
部分中设置以下内容:idmap config * : backend = autorid idmap config * : range = 10000-999999
详情请查看 配置
自动
后端。
16.1.5.4. 不同的 ID 映射后端
Samba 为特定配置提供不同的 ID 映射后端。最常用的后端是:
后端 | 使用案例 |
---|---|
|
|
| 仅限 AD 域 |
| AD 和 NT4 域 |
|
AD、NT4 和 |
以下小节介绍了后端的优势、使用后端的建议场景以及配置方法。
16.1.5.4.1. 使用 tdb
ID 映射后端
winbindd
服务默认使用可写 tdb
ID 映射后端来存储安全标识符(SID)、UID 和 GID 映射表。这包括本地用户、组和内置主体。
仅将此后端用于 *
默认域。例如:
idmap config * : backend = tdb idmap config * : range = 10000-999999
有关 *
默认域的详情,请参考 第 16.1.5.3.2 节 “*
默认域”。
16.1.5.4.2. 使用 ad
ID 映射后端
ad
ID 映射后端实施只读 API,以从 AD 读取帐户和组信息。它具有以下优点:
- 所有用户和组群设置都集中存储在 AD 中。
- 使用这个后端的所有 Samba 服务器中的用户和组群 ID 是一致的。
- ID 不会存储在本地数据库中(本地数据库可能会被损坏),因此文件所有者不会丢失。
ad
后端从 AD 中读取以下属性:
AD Attribute Name | 对象类型 | 映射到 |
---|---|---|
| 用户和组群 | 用户和组名称,具体取决于对象 |
| 用户 | 用户 ID(UID) |
| 组 | 组 ID(GID) |
| 用户 | 用户 shell 的路径 |
| 用户 | 用户主目录的路径 |
| 用户 | 主组群 ID |
[a]
如果您设置了 idmap config DOMAIN:unix_nss_info = yes ,则 Samba 仅读取此属性。
[b]
如果您设置了 idmap config DOMAIN:unix_primary_group = yes ,则 Samba 仅读取此属性。
|
后端
的先决条件
使用 ad
ID 映射后端:
-
用户和组必须在 AD 中设置唯一 ID,并且 ID 必须在
/etc/samba/smb.conf
文件中配置的范围范围内。ID 范围之外的对象在 Samba 服务器上不可用。 -
用户和组必须在 AD 中设置所有必需的属性。如果缺少所需的属性,该用户或组将无法在 Samba 服务器中可用。所需的属性取决于您的配置。请参阅 表 16.2 “属性从用户和组对象中读取
ad
后端”。
配置 ad
Backendd
将 Samba AD 成员配置为使用 ad
ID 映射后端:
在域成员中配置 ad
Backd
编辑
/etc/samba/smb.conf
文件中的[global]
部分:如果默认域(
*
)不存在,请为它添加 ID 映射配置。例如:idmap config * : backend = tdb idmap config * : range = 10000-999999
有关默认域配置的详情,请参考 第 16.1.5.3.2 节 “
*
默认域”。为 AD 域启用
ad
ID 映射后端:idmap config DOMAIN : backend = ad
设置分配给 AD 域中用户和组的 ID 范围。例如:
idmap config DOMAIN : range = 2000000-2999999
重要范围不得与这个服务器上的任何其他域配置重叠。此外,范围必须足够大,以便包含将来分配的所有 ID。详情请查看 第 16.1.5.3.1 节 “规划 ID 范围”。
设置 Samba 在读取 AD 属性时使用 RFC 2307 模式:
idmap config DOMAIN : schema_mode = rfc2307
要让 Samba 从对应的 AD 属性读取登录 shell 和用户主目录的路径,请设置:
idmap config DOMAIN : unix_nss_info = yes
或者,您可以设置应用于所有用户的统一的域范围的主目录路径和登录 shell。例如:
template shell = /bin/bash template homedir = /home/%U
有关变量替换的详情,请查看 smb.conf(5)man page 中的 VARIABLE SUBSTITUTIONS 部分。
默认情况下,Samba 使用用户对象的
primaryGroupID
属性作为 Linux 上用户的主组。或者,您可以将 Samba 配置为使用 thegidNumber
属性中设置的值:idmap config DOMAIN : unix_primary_group = yes
验证
/etc/samba/smb.conf
文件:~]# testparm
重新载入 Samba 配置:
~]# smbcontrol all reload-config
- 验证设置是否按预期工作。请参阅 “验证操作系统是否可以恢复域用户帐户和组”一节。
详情请查看 smb.conf(5)和 idmap_ad(8)man page。
16.1.5.4.3. 使用丢弃 的
ID 映射后端
Samba 可以使用 Windows SID 的相对标识符(RID)在 Red Hat Enterprise Linux 上生成 ID。
RID 是 SID 的最后部分。例如,如果用户的 SID 是 S-1-5-21-5421822485-1151247151-421485315-30014
,则 30014
是对应的 RID。详情请查看 Samba 如何计算本地 ID,请参阅 idmap_rid(8)man page。
删除的 ID
映射后端实施只读 API,以根据 AD 和 NT4 域的算法映射方案计算帐户和组信息。配置后端时,您必须在 idmap config DOMAIN : range 参数中设置最低和最高的
RID。Samba 不会映射比这个参数中设置低或更高 RID 的用户或组。
作为只读后端,删除 无法
分配新 ID,例如用于 BUILTIN
组。因此,请勿将此后端用于 *
默认域。
优点
- 所有在配置范围内具有 RID 的域用户和组都会自动在域成员中可用。
- 您不需要手动分配 ID、主目录和登录 shell。
缺陷
- 所有域用户可以获得相同的登录 shell 和主目录。但是,您可以使用变量。
-
如果所有删除
后端
都使用相同的 ID 范围设置,则用户和组 ID 仅在 Samba 域成员之间相同。 - 您不能阻止单独的用户或组在域成员中可用。只有超出配置范围以外的用户和组才会包括。
-
根据
winbindd
服务用于计算 ID 的公式,如果不同域中的对象具有相同的 RID,则重复 ID 可能会在多域环境中发生。
配置 删除
的后端
将 Samba 域成员配置为使用丢弃 ID
映射后端:
在 域
成员中配置删除的后端
编辑
/etc/samba/smb.conf
文件中的[global]
部分:如果默认域(
*
)不存在,请为它添加 ID 映射配置。例如:idmap config * : backend = tdb idmap config * : range = 10000-999999
有关默认域配置的详情,请参考 第 16.1.5.3.2 节 “
*
默认域”。为域启用丢弃的
ID
映射后端:idmap config DOMAIN : backend = rid
设置一个足够大的范围,使其包含将来将分配的所有 RID。例如:
idmap config DOMAIN : range = 2000000-2999999
Samba 会忽略此域中 RID 不在 范围内的用户和组。
重要范围不得与这个服务器上的任何其他域配置重叠。详情请查看 第 16.1.5.3.1 节 “规划 ID 范围”。
设置分配给所有映射用户的 shell 和主目录路径。例如:
template shell = /bin/bash template homedir = /home/%U
有关变量替换的详情,请查看 smb.conf(5)man page 中的 VARIABLE SUBSTITUTIONS 部分。
验证
/etc/samba/smb.conf
文件:~]# testparm
重新载入 Samba 配置:
~]# smbcontrol all reload-config
- 验证设置是否按预期工作。请参阅 “验证操作系统是否可以恢复域用户帐户和组”一节。
16.1.5.4.4. 使用自动 ID
映射后端
自动后端
的工作方式类似于丢弃的 ID
映射后端,但可以自动为不同的域分配 ID。这可让您 在以下情况下使用自动
后端:
-
仅用于
*
默认域。 -
对于
*
默认域和其他域,无需为每个额外域创建 ID 映射配置。 - 仅供特定域使用.
优点
- 所有在配置范围内计算 UID 和 GID 的域用户和组都会在域成员中自动可用。
- 您不需要手动分配 ID、主目录和登录 shell。
- 没有重复的 ID,即使多域环境中的多个对象有相同的 RID。
缺陷
- 在 Samba 域成员中用户和组群 ID 不相同。
- 所有域用户可以获得相同的登录 shell 和主目录。但是,您可以使用变量。
- 您不能阻止单独的用户或组在域成员中可用。只有计算 UID 或 GID 不在配置范围内的用户和组才会包括。
配置 自动
后端
将 Samba 域成员配置为使用 *
默认域的 自动 ID
映射后端:
如果您对默认域使用 autorid
,可以为域添加额外的 ID 映射配置是可选的。
在域 成员中配置自动
后端
编辑
/etc/samba/smb.conf
文件中的[global]
部分:为
*
默认域启用自动 ID
映射后端:idmap config * : backend = autorid
设置一个足够大的范围来为所有现有和将来的对象分配 ID。例如:
idmap config * : range = 10000-999999
Samba 忽略在此域中计算 ID 不在范围范围内的用户和组。有关后端如何计算 ID 的详情,请查看 idmap_autorid(8)man page 中的 THE MAPPING FORMULAS 部分。
警告设置范围并开始使用 Samba 后,您只能增加范围的上限。对范围的任何其他更改都可能导致新的 ID 分配,从而释放文件所有权。
另外,还可设置范围大小。例如:
idmap config * : rangesize = 200000
Samba 会为每个域的对象分配这个数量的连续 ID,直到获取
idmap config * : range
参数中设置范围中的所有 ID。详情请查看 idmap_autorid(8)man page 中的rangesize
参数描述。设置分配给所有映射用户的 shell 和主目录路径。例如:
template shell = /bin/bash template homedir = /home/%U
有关变量替换的详情,请查看 smb.conf(5)man page 中的 VARIABLE SUBSTITUTIONS 部分。
另外,还可为域添加额外的 ID 映射配置。如果没有单个域的配置可用,Samba 使用之前配置的
*
默认域中的自动后端
设置来计算 ID。重要如果您为单个域配置额外的后端,则所有 ID 映射配置的范围不得互相重叠。详情请查看 第 16.1.5.3.1 节 “规划 ID 范围”。
验证
/etc/samba/smb.conf
文件:~]# testparm
重新载入 Samba 配置:
~]# smbcontrol all reload-config
- 验证设置是否按预期工作。请参阅 “验证操作系统是否可以恢复域用户帐户和组”一节。
16.1.7. 设置 Samba 打印服务器
如果您将 Samba 设置为打印服务器,则网络中的客户端可以使用 Samba 进行打印。此外,如果配置了 Windows 客户端,可以从 Samba 服务器下载该驱动程序。
在共享打印机前,请设置 Samba:
16.1.7.1. Samba spoolsd
服务
Samba 假脱机是一种
集成到 smbd
服务中的服务。在 Samba 配置 中启用假脱机
,以显著提高具有大量作业或打印机的打印服务器的性能。
如果没有 spoolsd
,Samba 就会对 smbd
进程执行分叉,并为每个打印作业初始化 printcap
缓存。如果有大量打印机,smb d
服务可能会在初始化缓存时多秒钟内变得无响应。spoolssd
服务可让您启动处理打印作业的预派 smbd
进程。主 spoolsd
smbd
进程使用较少的内存,分叉和终止子进程。
启用 spoolsd
服务:
启用 spoolsd
服务
编辑
/etc/samba/smb.conf
文件中的[global]
部分:添加以下参数:
rpc_server:spoolss = external rpc_daemon:spoolssd = fork
另外,您可以设置以下参数:
参数 Default(默认) 描述 spoolssd:prefork_min_children
5
最小子进程数量
spoolssd:prefork_max_children
25
子进程的最大数量
spoolssd:prefork_spawn_rate
5
Samba 在此参数中设置的新子进程数量中分叉,最多为
spoolsd:prefork_max_children
中设置的值(如果建立新连接)spoolssd:prefork_max_allowed_clients
100
客户端数,子进程服务
spoolssd:prefork_child_min_life
60
子进程的最低生命周期(以秒为单位)。60 秒是最小的。
验证
/etc/samba/smb.conf
文件:~]# testparm
重启
smb
服务:~]# systemctl restart smb
重启该服务后,Samba 会自动启动 smbd
子进程:
~]# ps axf ... 30903 smbd 30912 \_ smbd 30913 \_ smbd 30914 \_ smbd 30915 \_ smbd ...
16.1.7.2. 在 Samba 中启用打印服务器支持
启用打印服务器支持:
在 Samba 中启用打印服务器支持
在 Samba 服务器上,设置 CUPS 并将打印机添加到 CUPS 后端。详情请查看 第 16.3 节 “打印设置”。
注意只有 Samba 打印服务器上本地安装了 CUPS 时,Samba 才能将打印作业转发到 CUPS。
编辑
/etc/samba/smb.conf
文件:如果要启用
spoolsd
服务,请在[global]
部分添加以下参数:rpc_server:spoolss = external rpc_daemon:spoolssd = fork
要配置打印后端,请添加
[printers]
部分:[printers] comment = All Printers path = /var/tmp/ printable = yes create mask = 0600
重要打印机
共享名称是硬编码的,无法更改。
验证
/etc/samba/smb.conf
文件:~]# testparm
打开所需的端口并使用
firewall-cmd
工具重新载入防火墙配置:~]# firewall-cmd --permanent --add-service=samba ~]# firewall-cmd --reload
重启
smb
服务:~]# systemctl restart smb
重新启动 服务后,Samba 会自动共享在 CUPS 后端中配置的所有打印机。如果您只想手动共享特定打印机,请参阅 第 16.1.7.3 节 “手动共享特定打印机”。
16.1.7.3. 手动共享特定打印机
如果您将 Samba 配置为打印服务器,默认情况下,Samba 共享 CUPS 后端配置的所有打印机。仅共享特定的打印机:
手动共享特定打印机
编辑
/etc/samba/smb.conf
文件:在
[global]
部分中,通过设置禁用自动打印机共享:load printers = no
为您要共享的每个打印机添加 部分。例如,要在 Samba 中将 CUPS 后端中名为
example
的打印机共享为Example-Printer
,请添加以下部分:[Example-Printer] path = /var/tmp/ printable = yes printer name = example
您不需要为每个打印机单独设置 spool 目录。您可以在打印机
的路径
参数中设置与您在[printers]
部分中设置相同的 spool 目录。
验证
/etc/samba/smb.conf
文件:~]# testparm
重新载入 Samba 配置:
~]# smbcontrol all reload-config
16.1.7.4. 为 Windows 客户端设置自动打印机驱动程序下载
如果您正在运行 Windows 客户端的 Samba 打印服务器,可以上传驱动程序和预配置打印机。如果用户连接到打印机,Windows 会自动在客户端本地下载并安装驱动程序。用户不需要本地管理员权限进行安装。另外,Windows 应用预配置的驱动程序设置,如托盘的数量。
在设置自动打印机驱动程序下载之前,必须将 Samba 配置为打印服务器并共享打印机。详情请查看 第 16.1.7 节 “设置 Samba 打印服务器”。
16.1.7.4.1. 有关打印机驱动程序的基本信息
本节提供有关打印机驱动程序的一般信息。
支持的驱动程序模型版本
Samba 仅支持 Windows 2000 及更高版本中支持的打印机驱动程序模型版本 3,以及 Windows Server 2000 及更高版本。Samba 不支持 Windows 8 和 Windows Server 2012 中引入的驱动程序模型版本 4。但是,这些及之后的 Windows 版本也支持版本 3 驱动程序。
可软件包的驱动程序
Samba 不支持可打包的驱动程序。
为进行上传准备打印机驱动程序
在您将驱动程序上传到 Samba 打印服务器之前:
- 如果驱动程序采用压缩格式提供,请解包它。
有些驱动程序需要启动一个设置应用程序,以便在 Windows 主机上在本地安装驱动程序。在某些情况下,安装程序会在设置运行期间将单个文件提取到操作系统的临时文件夹中。使用驱动程序文件上传:
- 启动安装程序。
- 将临时文件夹中的文件复制到新位置。
- 取消安装。
请您的打印机厂商提供支持上传到打印服务器的驱动程序。
为客户端为打印机提供 32 位和 64 位驱动程序
要为 32 位和 64 位 Windows 客户端提供打印机的驱动程序,您必须上传两个架构具有完全相同名称的驱动程序。例如,如果您上传名为 Example PostScript 的 32 位驱动程序和名为
的 64 位驱动程序,则名称不匹配。因此,您只能为打印机分配其中一个驱动程序,且该驱动程序无法对这两个架构都适用。
Example PostScript
(v1.0)
16.1.7.4.2. 启用用户上传和预配置驱动程序
要上传和预配置打印机驱动程序,用户或组需要授予 SePrintOperatorPrivilege
权限。用户必须添加到 printadmin
组中。安装 samba 软件包时,Red Hat Enterprise Linux 会自动创建这个组。printadmin
组被分配了低于 1000 的可用最小动态系统 GID。
为 printadmin
组授予 SePrintOperatorPrivilege
权限:
~]# net rpc rights grant "printadmin" SePrintOperatorPrivilege \ -U "DOMAIN\administrator" Enter DOMAIN\administrator's password: Successfully granted rights.
在域环境中,将 SePrintOperatorPrivilege
授予给域组。这可让您通过更新用户的组成员资格来集中管理权限。
列出所有授予 SePrintOperatorPrivilege 的
用户和组:
~]# net rpc rights list privileges SePrintOperatorPrivilege \ -U "DOMAIN\administrator" Enter administrator's password: SePrintOperatorPrivilege: BUILTIN\Administrators DOMAIN\printadmin
16.1.7.4.4. 创建 GPO 以启用客户端信任 Samba 打印服务器
出于安全考虑,最近的 Windows 操作系统会阻止客户端从不受信任的服务器下载非软件包的打印机驱动程序。如果您的打印服务器是 AD 中的成员,您可以在域中创建一个组策略对象(GPO)来信任 Samba 服务器。
要创建 GPO,您使用的 Windows 计算机必须安装有 Windows Remote Server 管理工具(RSAT)。详情请查看您的 Windows 文档。
创建 GPO 以启用客户端信任 Samba 打印服务器
-
使用允许编辑组策略的帐户(如 AD 域
管理员用户
)登录到 Windows 计算机。 - 打开 组策略管理控制台。
右键单击您的 AD 域并选择
创建此域中的 GPO,然后链接此处
-
输入 GPO 的名称,如
Legacy 打印机驱动程序策略
并单击" 新的 GPO 将在域条目下显示。 -
右键单击新创建的 GPO,然后选择
Edit
以打开 Group Policy Management Editor。 进入
。 在窗口的右侧,双击
Point 和 Print Restriction
以编辑策略:启用策略并设置以下选项:
-
选择
Users 只能指向这些服务器并打印到这些服务器
,再将 Samba 打印服务器的完全限定域名(FQDN)添加到此选项旁边的字段。 在
Security Prompts 下的两个复选框中
,选择Do not show warning 或 elevation 提示
。
-
选择
- 点 。
双击
Package Point 和 Print - Approved servers
以编辑策略:- 启用策略并单击 按钮。
输入 Samba 打印服务器的 FQDN。
-
单击
Show Contents
和 policy 属性窗口。 ,以关闭
- 关闭 组策略管理编辑器。
- 关闭 组策略管理控制台。
在 Windows 域成员应用组策略后,用户连接到打印机时会自动从 Samba 服务器下载打印机驱动程序。
有关使用组策略的详情,请查看您的 Windows 文档。
16.1.7.4.5. 上传驱动程序和预配置打印机
在 Windows 客户端上使用 Print Management 应用上传托管在 Samba 打印服务器上的驱动程序和预配置打印机。详情请查看您的 Windows 文档。
16.1.8. 调优 Samba 服务器的性能
本节介绍在某些情况下,哪些设置可以提高 Samba 的性能,以及哪些设置可能会对性能造成负面影响。
16.1.8.1. 设置 SMB 协议版本
每个新的 SMB 版本都会添加功能并提高协议的性能。最新的 Windows 和 Windows 服务器操作系统始终支持最新的协议版本。如果 Samba 还使用最新的协议版本,则连接 Samba 的 Windows 客户端可从性能改进中受益。在 Samba 中,服务器 max 协议
的默认值被设置为最新支持的 stable SMB 协议版本。
要始终启用最新的稳定 SMB 协议版本,请不要设置 server max protocol
参数。如果手动设置 参数,则需要修改 SMB 协议的每个新版本的设置,以启用最新的协议版本。
要取消设置,请从 /etc/samba/smb.conf
文件的 [global]
部分中删除 server max protocol
参数。
16.1.8.3. 可具有潜在性能影响的设置
默认情况下,调整 Red Hat Enterprise Linux 中的内核以获得高网络性能。例如,内核对缓冲区大小使用自动轮询机制。在 /etc/samba/smb.conf
文件中设置 socket options
参数会覆盖这些内核设置。因此,设置此参数会在大多数情况下降低 Samba 网络性能。
要使用内核优化的设置,请从 /etc/samba/smb.conf
中的 [global]
部分删除 socket options
参数。
16.1.9. 常用 Samba 命令行实用程序
这部分论述了在使用 Samba 服务器时常用的命令。
16.1.9.1. 使用 网络
实用程序
net
实用程序允许您在 Samba 服务器中执行多个管理任务。本节介绍 net
实用程序最常用的子命令。
详情请查看 net(8)man page。
16.1.9.1.1. 使用 net ads join
和 net rpc join
命令
使用 net
实用程序的 join
子命令,您可以将 Samba 加入到 AD 或 NT4 域。要加入该域,您必须手动创建 /etc/samba/smb.conf
文件,并选择性地更新其他配置,如 PAM。
红帽建议使用 realm
实用程序加入域。realm
实用程序自动更新所有相关配置文件。详情请查看 第 16.1.5.1 节 “加入域”。
使用 net
命令加入域:
使用 net
命令加入域
使用以下设置手动创建
/etc/samba/smb.conf
文件:对于 AD 域成员:
[global] workgroup = domain_name security = ads passdb backend = tdbsam realm = AD_REALM
对于 NT4 域成员:
[global] workgroup = domain_name security = user passdb backend = tdbsam
-
为
*
默认域和要加入到/etc/samba/smb.conf
中的[global]
部分的域添加 ID 映射配置。详情请查看 第 16.1.5.3 节 “了解 ID 映射”。 验证
/etc/samba/smb.conf
文件:~]# testparm
以域管理员身份加入域:
加入 AD 域:
~]# net ads join -U "DOMAINpass:quotes[administrator]"
要加入 NT4 域:
~]# net rpc join -U "DOMAINpass:quotes[administrator]"
将
winbind
源附加到/etc/nsswitch.conf
文件中的passwd
和组
数据库条目中:passwd: files winbind group: files winbind
启用并启动
winbind
服务:~]# systemctl enable winbind ~]# systemctl start winbind
(可选)使用
authconf
实用程序配置 PAM。详情请查看 红帽系统级 身份验证指南中的使用可插拔验证 模块(PAM) 部分。
另外,对于 AD 环境,配置 Kerberos 客户端。
详情请查看 Red Hat System-Level Authentication Guide 中的 配置 Kerberos 客户端 部分。
16.1.9.1.2. 使用 net rpc 权限
命令
在 Windows 中,您可以为帐户和组分配执行特殊操作的特权,如设置共享上的 ACL 或上传打印机驱动程序。在 Samba 服务器上,您可以使用 net rpc permissions 命令来
管理特权。
列出特权
若要列出所有可用的特权及其所有者,可使用 net rpc permissions list
命令。例如:
net rpc rights list -U "DOMAINpass:attributes[{blank}]administrator" Enter DOMAINpass:attributes[{blank}]administrator's password: SeMachineAccountPrivilege Add machines to domain SeTakeOwnershipPrivilege Take ownership of files or other objects SeBackupPrivilege Back up files and directories SeRestorePrivilege Restore files and directories SeRemoteShutdownPrivilege Force shutdown from a remote system SePrintOperatorPrivilege Manage printers SeAddUsersPrivilege Add users and groups to the domain SeDiskOperatorPrivilege Manage disk shares SeSecurityPrivilege System security
授予特权
若要为帐户或组授予特权,可使用 net rpc 权限 grant
命令。
例如,为 DOMAIN\printadmin
组授予 SePrintOperatorPrivilege
权限:
~]# net rpc rights grant "DOMAIN\printadmin" SePrintOperatorPrivilege \ -U "DOMAIN\administrator" Enter DOMAIN\administrator's password: Successfully granted rights.
撤销特权
若要从帐户或组撤销特权,可使用 net rpc 权限撤销
。
例如,要从 DOMAIN\printadmin
组撤销 SePrintOperatorPrivilege
权限:
~]# net rpc rights remoke "DOMAIN\printadmin" SePrintOperatorPrivilege \ -U "DOMAIN\administrator" Enter DOMAIN\administrator's password: Successfully revoked rights.
16.1.9.1.4. 使用 net 用户
命令
net user
命令可让您在 AD DC 或 NT4 PDC 中执行以下操作:
- 列出所有用户帐户
- 添加用户
- 删除用户
只有在列出域用户帐户时,才需要指定连接方法,如 AD 域或 rpc
的 NT4 域的 ad
。其他用户相关的子命令可以自动探测连接方法。
将 -U user_name
参数传递给 命令,以指定允许执行请求操作的用户。
列出域用户帐户
列出 AD 域中的所有用户:
~]# net ads user -U "DOMAIN\administrator"
列出 NT4 域中的所有用户:
~]# net rpc user -U "DOMAIN\administrator"
将用户帐户添加到域
在 Samba 域成员中,您可以使用 net user add
命令将用户帐户添加到该域。
例如,将 用户帐户
添加到域中:
将用户帐户添加到域
添加帐户:
~]# net user add user password -U "DOMAIN\administrator" User user added
(可选)使用远程过程调用(RPC)shell 在 AD DC 或 NT4 PDC 中启用帐户。例如:
~]# net rpc shell -U DOMAIN\administrator -S DC_or_PDC_name Talking to domain DOMAIN (S-1-5-21-1424831554-512457234-5642315751) net rpc> user edit disabled user no Set user's disabled flag from [yes] to [no] net rpc> exit
从域中删除用户帐户
在 Samba 域成员中,您可以使用 net user delete
命令从域中删除用户帐户。
例如,要从域中删除 用户帐户
:
~]# net user delete user -U "DOMAIN\administrator" User user deleted
16.1.9.2. 使用 rpcclient
实用程序
The rpcclient
实用程序可让您在本地或远程 SMB 服务器上手动执行客户端 Microsoft 远程过程调用(MS-RPC)功能。但是,大部分功能都已集成到 Samba 提供的单独实用程序中。Use rpcclient
仅用于测试 MS-PRC 功能。
例如,您可以使用该工具:
管理打印机池子系统(SPOOLSS)。
例 16.9. 将驱动程序分配给打印机
~]# rpcclient server_name -U "DOMAINpass:quotes[administrator]" \ -c 'setdriver "printer_name" "driver_name"' Enter DOMAINpass:quotes[administrator]s password: Successfully set printer_name to driver driver_name.
检索有关 SMB 服务器的信息。
例 16.10. 列出所有文件共享和共享的打印机
~]# rpcclient server_name -U "DOMAINpass:quotes[administrator]" -c 'netshareenum' Enter DOMAINpass:quotes[administrator]s password: netname: Example_Share remark: path: C:\srv\samba\example_share\ password: netname: Example_Printer remark: path: C:\var\spool\samba\ password:
使用安全帐户管理器远程(SAMR)协议执行操作。
例 16.11. 在 SMB 服务器中列出用户
~]# rpcclient server_name -U "DOMAINpass:quotes[administrator]" -c 'enumdomusers' Enter DOMAINpass:quotes[administrator]s password: user:[user1] rid:[0x3e8] user:[user2] rid:[0x3e9]
如果您针对单机服务器或域成员运行 命令,它会将用户列在本地数据库中。针对 AD DC 或 NT4 PDC 运行命令列出域用户。
有关支持子命令的完整列表,请参见 rpcclient(1)man page 中的 COMMANDS 部分。
16.1.9.3. 使用 samba-regedit
应用
某些设置(如打印机配置)存储在 Samba 服务器上的注册表中。您可以使用基于 ncurses 的 samba-regedit
应用来编辑 Samba 服务器的注册表。
要启动应用程序,请输入:
~]# samba-regedit
使用以下键:
- 上键和下键:在注册表树和值中进行导航。
- Enter:打开关键字或编辑值。
-
选项卡 :在
Key
和Value
窗格间切换。 - Ctrl+C:关闭应用程序。
16.1.9.4. 使用 smbcacls
实用程序
16.1.9.5. 使用 smbclient
实用程序
smbclient
实用程序允许您访问 SMB 服务器上的文件共享,这与命令行 FTP 客户端类似。例如,您可以使用它向共享上传和下载文件。
例如,使用 DOMAIN\user
帐户对 服务器上
托管的示例 共享
进行身份验证:
~]# smbclient -U "DOMAIN\user" //server/example Enter domain\user's password: Domain=[SERVER] OS=[Windows 6.1] Server=[Samba 4.6.2] smb: \>
在 smbclient
连接到共享后,实用程序进入互动模式并显示以下提示:
smb: \>
要在互动 shell 中显示所有可用命令,请输入:
smb: \> help
要显示特定命令的帮助信息,请输入:
smb: \> help command_name
有关交互式 shell 中可用命令的详情和说明,请参阅 smbclient(1)man page。
16.1.9.5.1. 在交互模式中使用 smbclient
如果您使用不带 -c
参数的 smbclient
,则实用程序将进入交互模式。
以下流程演示了如何连接到 SMB 共享并从子目录下载文件:
使用 smbclient
从 SMB 共享下载文件
连接到共享:
~]# smbclient -U "DOMAINpass:quotes[user_name]" //server_name/share_name
进入
/example/
目录:smb: \> cd /example/
列出目录中的文件:
smb: \example\> ls . D 0 Mon Sep 1 10:00:00 2017 .. D 0 Mon Sep 1 10:00:00 2017 example.txt N 1048576 Mon Sep 1 10:00:00 2017 9950208 blocks of size 1024. 8247144 blocks available
下载
example.txt
文件:smb: \example\> get example.txt getting file \directory\subdirectory\example.txt of size 1048576 as example.txt (511975,0 KiloBytes/sec) (average 170666,7 KiloBytes/sec)
从共享断开:
smb: \example\> exit
16.1.9.5.2. 在脚本模式中使用 smbclient
如果将 -c 命令
参数传递给 smbclient
,则可以自动对远程 SMB 共享执行命令。这可让您在脚本中使用 smbclient
。
以下命令显示如何连接到 SMB 共享并从子目录下载文件:
~]# smbclient -U DOMAINpass:quotes[user_name] //server_name/share_name \ -c "cd /example/ ; get example.txt ; exit"
16.1.9.6. 使用 smbcontrol
实用程序
smbcontrol
实用程序允许您向 smbd
、nmbd
、winbindd 或
所有这些服务发送命令消息。这些控制消息指示服务重新载入其配置。
例 16.12. 重新加载 smbd
、nmbd
和 winbindd
服务的配置
例如,要重新载入 smbd
、nmbd
、winbindd
的配置,将 reload-config message-
type 发送到 所有
目的地:
~]# smbcontrol all reload-config
详情以及可用命令消息类型的列表,请参阅 smbcontrol(1)man page。
16.1.9.7. 使用 smbpasswd
实用程序
smbpasswd
实用程序在本地 Samba 数据库中管理用户帐户和密码。
如果您以用户身份运行 命令,smb passwd
将更改用户的 Samba 密码。例如:
[user@server ~]$ smbpasswd New SMB password: Retype new SMB password:
如果以 root
用户身份运行 smbpasswd
,您可以使用该实用程序,例如:
创建一个新用户:
[root@server ~]# smbpasswd -a user_name New SMB password: Retype new SMB password: Added user user_name.
注意在将用户添加到 Samba 数据库之前,您必须先在本地操作系统中创建帐户。请查看 第 4.3.1 节 “添加新用户”
启用 Samba 用户:
[root@server ~]# smbpasswd -e user_name Enabled user user_name.
禁用 Samba 用户:
[root@server ~]# smbpasswd -x user_name Disabled user user_name.
删除用户:
[root@server ~]# smbpasswd -x user_name Deleted user user_name.
详情请查看 smbpasswd(8)man page。
16.1.9.8. 使用 smbstatus
实用程序
smbstatus
工具报告:
-
每个
smbd
守护进程的每个 PID 与 Samba 服务器的连接。此报告包括用户名、主组群、SMB 协议版本、加密和签名信息。 -
每个 Samba 共享的连接。此报告包含
smbd 守护进程的
PID、连接计算机的 IP、连接的时间戳、加密和签名信息。 - 锁定文件列表。报告条目包括更多详情,如 Opportunistic lock(oplock)类型
例 16.13. smbstatus
实用程序的输出
~]# smbstatus Samba version 4.6.2 PID Username Group Machine Protocol Version Encryption Signing ----------------------------------------------------------------------------------------------------------------------------- 963 DOMAIN\administrator DOMAIN\domain users client-pc (ipv4:192.0.2.1:57786) SMB3_02 - AES-128-CMAC Service pid Machine Connected at Encryption Signing: ------------------------------------------------------------------------------- example 969 192.0.2.1 Mo Sep 1 10:00:00 2017 CEST - AES-128-CMAC Locked files: Pid Uid DenyMode Access R/W Oplock SharePath Name Time ------------------------------------------------------------------------------------------------------------ 969 10000 DENY_WRITE 0x120089 RDONLY LEASE(RWH) /srv/samba/example file.txt Mon Sep 1 10:00:00 2017
详情请查看 smbstatus(1)man page。
16.1.9.9. 使用 smbtar
实用程序
smbtar
实用程序备份 SMB 共享的内容或其子目录,并将内容存储在 tar
存档中。或者,您可以将内容写入磁带设备。
例如,在 //server/example/ 共享
中备份 demo
目录的内容,并将内容存储在 /root/example.tar
归档中:
~]# smbtar -s server -x example -u user_name -p password -t /root/example.tar
详情请查看 smbtar(1)man page。
16.1.9.10. 使用 testparm
实用程序
16.1.9.11. 使用 wbinfo
实用程序
The wbinfo
实用程序查询并返回 winbindd
服务创建和使用的信息。
winbindd
服务必须配置并运行才能使用 wbinfo
。
您可以使用 wbinfo
,例如:
列出域用户:
~]# wbinfo -u AD\administrator AD\guest ...
列出域组:
~]# wbinfo -g AD\domain computers AD\domain admins AD\domain users ...
显示用户的 SID:
~]# wbinfo --name-to-sid="AD\administrator" S-1-5-21-1762709870-351891212-3141221786-500 SID_USER (1)
显示域和信任的信息:
~]# wbinfo --trusted-domains --verbose Domain Name DNS Domain Trust Type Transitive In Out BUILTIN None Yes Yes Yes server None Yes Yes Yes DOMAIN1 domain1.example.com None Yes Yes Yes DOMAIN2 domain2.example.com External No Yes Yes
详情请查看wbinfo(1)man page。
16.1.10. 其它资源
Red Hat Samba 软件包包含所有 Samba 命令的 man page 以及软件包安装的配置文件。例如,显示
/etc/samba/smb.conf
文件的 man page,说明您可以在此文件中设置的所有配置参数:~]# man 5 smb.conf
-
/usr/share/docs/samba-版本/
:包含 Samba 项目提供的常规文档、示例脚本和 LDAP 架构文件。 - 红帽集群存储管理指南 :提供有关设置 Samba 和集群 Trivial 数据库(CDTB)以共享 GlusterFS 卷中存储的目录的信息。
- Red Hat Enterprise Linux High Availability Add-on 管理 指南中的红帽高可用性群集章节中的主动/主动 Samba 服务器 介绍了如何启动 Samba 高可用性安装。
- 有关在 Red Hat Enterprise Linux 中挂载 SMB 共享的详情,请查看《红帽存储管理指南》中的对应章节。