手册页部分 1M: 系统管理命令

退出打印视图

更新时间: 2014 年 7 月
 
 

smbadm(1M)

名称

smbadm - 配置和管理 SMB 本地组和用户,管理域成员身份,管理持久性口令信息,以及发出各种命令

用法概要

用法概要
smbadm add-key [-u username]
smbadm add-member -m member [[-m member] …] group
smbadm create-group [-d description] group
smbadm crypt
smbadm delete-group group
smbadm disable-user username
smbadm enable-user username
smbadm get-group [[-p property] …] group
smbadm join -u username [-o organizational-unit] domain
smbadm join -w workgroup
smbadm lookup-server //server
smbadm lookup-user [-u username] name | SID
smbadm print [-u username] //server/share {print_file|-}
smbadm remove-key [-u username]
smbadm remove-member -m member [[-m member] …] group
smbadm rename-group group new-group
smbadm set-group -p property=value [[-p property=value] …] group
smbadm show-connections [-t] [-u username] [-c computername | -s sharename]
     server
smbadm show-domains
smbadm show-files [-t] [-u username] server
smbadm show-groups [-m] [-p] [group]
smbadm show-sessions [-t] [-u username] server
smbadm show-shares [-t] [-A | -u username] server

描述

描述

smbadm 命令用于配置 SMB 本地组、管理域成员身份、管理持久性口令信息,以及发出各种命令。您还可以使用 smbadm 命令启用或禁用各个本地用户的 SMB 口令生成。

当 Windows 帐户必须是某些本地组的成员时以及必须授予 Windows 式特权时,可以使用 SMB 本地组。Solaris 本地组无法提供这些功能。

有两种类型的本地组:用户定义的本地组和内置本地组。内置本地组是用于支持常用管理任务的预定义本地组。

为了在 SMB 本地组与 Solaris 组之间提供正确的标识映射,SMB 本地组必须具有对应的 Solaris 组。此项要求有两个推论:首先,组名必须同时符合 Windows 和 Solaris 组名规则。因此,SMB 本地组名称可包含最多八 (8) 个字符,并且只包含小写字母和数字。其次,创建 SMB 本地组之前,必须先创建一个 Solaris 本地组。

内置组是由 SMB 服务预定义的标准 Windows 组。无法添加、删除或重命名内置组,而且这些组不遵循 SMB 本地组命名约定。

当 SMB 服务器启动后,下列内置组可用:

Administrators

组成员可以管理系统。

Backup Operators

组成员可以绕过文件访问控制来备份和恢复文件。

Power Users

组成员可以共享目录。

Solaris 本地用户必须具有 SMB 口令才能进行验证,才能访问 SMB 资源。该口令是在系统的 PAM 配置中添加有 pam_smb_password 模块的情况下使用 passwd(1) 命令创建的。请参见 pam_smb_passwd(5) 手册页。

disable-userenable-user 子命令控制特定本地用户的 SMB 口令生成。被禁用时,用户无法连接到 Solaris SMB 服务。缺省情况下,会为所有本地用户启用 SMB 口令生成。

要重新启用已禁用的用户,必须使用 enable-user 子命令,然后使用 passwd 命令重置用户的口令。必须将 pam_smb_passwd.so.1 模块添加到系统的 PAM 配置中才能生成 SMB 口令。

转义反斜杠字符

对于 add-memberremove-member 以及 join(带 –u)子命令,转义字符 (\) 是用于成员或用户名与域名之间的一个有效分隔符。反斜杠字符是一个 shell 特殊字符,而且必须括起。例如,可以通过一个反斜杠字符对另一个反斜杠字符进行转义:domain\\username。有关处理 shell 特殊字符的更多信息,请参见适用于您的 shell 的手册页。

操作数

smbadm 命令使用以下操作数:

domain

指定要加入的现有 Windows 域的名称。

group

指定 SMB 本地组的名称。

username

指定 Windows 用户名。username 可以指定为下列任一格式:

domain\username[+password]
domain/username[+password]
username@domain
username

...其中 domain 可以是 NetBIOS 或 DNS 域名。

server

指定本地主机的名称或 IP 地址。

子命令

子命令

smbadm 命令包括以下子命令:

add-key [–u username]

指定用于 SMB 服务器用户帐户的持久性口令信息。指定此信息后,在非 Kerberos 配置中无需提示口令即可完成挂载。Kerberos 站点应该会自动使用 Kerberos,不会提示输入口令。如果缺省域在 SMF 中可用,则可以省略域。如果未指定用户名,则会使用 Solaris 用户帐户名称。也可以使用加密(散列)的口令,请参见 crypt 子命令。该命令还可以从标准输入读取口令,提示标准输入是否为 TTY。

还可以通过用服务器名称替代域名称来为特定服务器存储口令。

持久性口令信息还为运行命令的用户存储在 /var/smb/smbfspasswd 中。

add-member –m member [[–m member] …] group

将指定的成员添加到指定的 SMB 本地组。–m member 选项指定 SMB 本地组成员的名称。成员名称必须包括一个现有的用户名和一个可选的域名。

以下列格式之一指定成员名称:

[domain\]username
[domain/]username

例如,有效的成员名称可以是 sales\terrysales/terry,其中 sales 是 Windows 域名,terrysales 域中的一个用户的名称。

create-group [–d description] group

使用指定的名称创建一个 SMB 本地组。您可以通过使用 –d 选项来指定组的描述。

crypt

创建口令散列。此子命令会提示输入口令,并将散列写入标准输出。该散列值适合用作 smbfs 挂载和各种 smbadm 子命令的加密口令选项的值。

delete-group group

删除指定的 SMB 本地组。内置组无法删除。

disable-user username

为指定的本地用户禁用 SMB 口令生成功能。被禁用的本地用户无法通过 SMB 服务访问系统。如果某个本地用户帐户被禁用,在重新启用该用户帐户前,您无法使用 passwd 命令来修改该用户的 SMB 口令。

enable-user username

为指定的本地用户启用 SMB 口令生成功能。重新启用口令生成功能后,必须使用 passwd 命令来为本地用户生成 SMB 口令,然后才能连接到 SMB 服务。

如果已将 pam_smb_passwd 模块添加到系统的 PAM 配置,则 passwd 命令可以同时管理用户的 Solaris 口令和 SMB 口令。

get-group [[–p property=value] …] group

检索指定组的属性值。如果未指定任何属性,将显示所有属性值。

join –u username [–o organizational-unit] domain

加入一个 Windows 域或工作组。

SMB 服务的缺省模式是工作组模式,该模式使用缺省的工作组名称 WORKGROUP

要加入域,需要使用经过验证的用户帐户,因此必须使用 –u 选项来指定一个 Windows 用户名。如果未在命令行中指定口令,将提示用户输入口令。允许以下用户执行域加入:

  • 域管理员。可以将任意数量的系统加入域,并可将计算机信任帐户放置在任何容器中。

  • 具有对一个或多个 OU(组织单元)的授权的受委托管理员。可以将任意数量的系统加入域,并可以将计算机帐户位置指定在他们负责的 OU 中。

  • 具有由管理员预设置的计算机帐户的普通用户。可以根据管理员的预授权将系统加入域。

  • 普通用户。通常被授权加入有限数量的系统。有关更多详细信息,请参见 Active Directory 文档并咨询 Active Directory 域管理员。

usernamedomain 可以采用下面的任一格式输入:

username[+password] domain
domain\username[+password]
domain/username[+password]
username@domain

...其中 domain 可以是 NetBIOS 或 DNS 域名。

缺省情况下,如果帐户没有预先存在于 Active Directory 中,则在加入域的操作过程中,会自动在计算机帐户的缺省容器 (cn=Computers) 中为系统创建一个计算机信任帐户。

–o organizational-unit 选项指定将在其中创建系统的计算机信任帐户的备选组织单元。

如果系统的计算机帐户已存在,则无需指定 –o 选项。如果指定的 OU 不是该帐户所在的组织单元,将会发出警告。

organizational-unit 将指定为包含一个或多个“名称-值”对的逗号分隔列表,使用域相对标识名 (distinguished name, DN) 格式,例如 'ou=innerOU,ou=outerOU'

在属性值中指定以下保留字符时,必须使用反斜杠字符 (\) 对其进行转义。反斜杠字符是一个 shell 特殊字符,因此包含以下保留字符的标识名必须用引号引起来。建议使用单引号而不是双引号,因为引在双引号中的反斜杠在某些情况下可能会保留其特殊意义。有关处理 shell 特殊字符的更多信息,请参见适用于您的 shell 的手册页。

---------+----------------------
Reserved |
Character|    Description
---------+----------------------
 ,            comma
 +            plus sign
 "            double quote
 \            backslash
 <            left angle bracket
 >            right angle bracket
 ;            semicolon
 =            equals sign
 #            # character at the beginning of a string

例如,在以下分层结构中:

dc=com
            dc=mycompany
               ou=Departments
                  ou=Engineering
                  ou=Payables,Receivables,and Payroll
                  :
                  :

如果计划在名为 engineering 的子组织单元中创建计算机信任帐户,应该将组织单元指定为:

ou=Engineering,ou=Departments

如果计划在另一个子组织单元中创建计算机信任帐户,应该使用反斜杠指定 organizational-unit 并将其括在单引号内,如下所示:

ou=Payables\,Receivables\,and Payroll,ou=Departments'
join –w workgroup

加入一个 Windows 域或工作组。

使用 join 子命令时,–w workgroup 选项指定要加入的工作组的名称。

lookup-server //server

将指定的服务器解析为 IP 地址、NetBIOS 域和 NetBIOS 服务器名称。server 可以为以下值之一:

  • NetBIOS 主机名

  • DNS 主机名

  • IP 地址

lookup-user [–u username] name | SID

解析当前域或任意受信任域中某个帐户的名称或 SID 的相关信息。

print [–u username] //server/share {print_file|-}

将文件输出到指定的远程打印机。如果 print_file 是连字符 (-),则读取标准输入。如果缺省域在 SMF 中可用,则可以省略域。如果未指定用户名,则会使用 Solaris 用户帐户名称。也可以使用加密(散列)的口令,请参见 crypt 子命令。该命令也可以通过重定向获取口令。

remove-key [–u username]

为正在运行命令的用户清除口令。还将为正在运行命令的用户清除 /var/smb/smbfspasswd 中的口令。

名称的用户名和域名部分是可选的。如果缺省域在 SMF 中可用,则可以省略域。如果未指定 username,将删除为正在运行命令的用户存储的所有密钥。

如果为特定服务器存储用户口令,则应指定服务器名称替代域名称。

remove-member –m member [[–m member] …] group

从指定的 SMB 本地组中删除指定成员。–m member 选项指定 SMB 本地组成员的名称。成员名称必须包括一个现有的用户名和一个可选的域名。

以下列格式之一指定成员名称:

[domain\]username
[domain/]username

例如,有效的成员名称可以是 sales\terrysales/terry,其中 sales 是 Windows 域名,terrysales 域中的一个用户的名称。

rename-group group new-group

重命名指定的 SMB 本地组。该组必须已存在。内置组无法重命名。

set-group –p property=value [[–p property=value] …] group

设置 SMB 本地组的配置属性。无法为内置组更改描述和特权。

–p property=value 选项指定要在指定组上设置的属性的列表。

与组相关的属性如下所示:

backup=[on|off]

指定 SMB 本地组的成员能否绕过文件访问控制来备份文件系统对象。

description=description-text

指定 SMB 本地组的文本描述。

restore=[on|off]

指定 SMB 本地组的成员能否绕过文件访问控制来恢复文件系统对象。

take-ownership=[on|off]

指定 SMB 本地组的成员能否取得文件系统对象的所有权。

show-domains

显示当前工作组或域的相关信息。该信息通常包括工作组名称或主域名称。在域模式下,该信息包括域控制器名称和受信任域的名称。

输出中的每个条目由以下标记之一予以标识:

  • [*] 主域

  • [.] 本地域

  • [-] 其他域

  • [+] 选定的域控制器

show-groups [–m] [–p] [group]

显示指定的 SMB 本地组的相关信息。如果未指定任何组,则显示所有组的信息。如果指定了 –m 选项,还将显示组成员。如果指定了 –p 选项,还将显示组特权。

下面的子命令集显示有关用户共享、会话、连接以及在本地或远程服务器上打开的文件的信息。

要显示上面列出的那些类型的数据,需要使用经过验证的用户帐户,因此您必须使用 –u 选项来指定 Windows 管理用户名。如果未在命令行中指定口令,将提示用户输入口令。该用户应当是域管理员或对目标域具有管理特权的用户。如果未指定用户名,则会使用 Solaris 用户帐户名称。

username 可以采用“操作数”部分中描述的任意格式。

show-connections [–t] [–u username] [–c computername | –s sharename] server

显示在服务器上创建的 SMB 树连接的信息。–c 选项指定客户机关注的连接的计算机名称。–s 选项指定客户机关注的连接的共享名称。–t 选项指定要显示的命令头。

show-files [–t] [–u username] server

显示有关在服务器上通过 SMB 打开的文件的信息。–t 选项指定要显示的命令头。

show-sessions [–t] [–u username] server

显示有关服务器上的 SMB 用户会话的信息。–t 选项指定要显示的命令头。

show-shares [–t] [–A | –u username] server

显示有关服务器上的 SMB 共享的信息。–t 选项指定要显示的命令头。–A 选项指定匿名用户。

退出状态

退出状态

将返回以下退出值:

0

成功完成。

>0

出现错误。

属性

属性

有关以下属性的说明,请参见 attributes(5) 手册页:

属性类型
属性值
可用性
service/file-system/smb
实用程序名称和选项
Uncommitted(未确定)
实用程序输出格式
Not-An-Interface(不是接口)
smbadm join
过时

另请参见

另请参见

passwd(1)groupadd(1M)idmap(1M)idmapd(1M)kclient(1M)mount_smbfs(1M)share(1M)sharectl(1M)smbd(1M)smbstat(1M)smb(4)smbautohome(4)attributes(5)pam_smb_passwd(5)smf(5)