跳过导航链接 | |
退出打印视图 | |
手册页第 1M 部分:系统管理命令 Oracle Solaris 11 Information Library (简体中文) |
- 用于 Logical Domains 的虚拟网络终端服务器守护进程
/usr/lib/ldoms/vntsd
vntsd 守护进程是一个通过使用 telnet(1) 支持到 Logical Domains (LDoms) 控制台的连接的服务器。当 telnet 会话启动时,vntsd 会向客户机发送 telnet 选项来表明要远程回显字符并抑制前进的意愿。
这些控制台由 LDoms Manager 分为若干个组。每个控制台组都分配有唯一的组名和 TCP 端口号。vntsd 使用组的端口号来导出对该组内的控制台的访问权限。要与某个控制台或控制台组建立连接,用户需要使用对应组的端口号启动 telnet(1) 会话。根据该组内控制台的数量,vntsd 将执行下面的两个操作之一:
如果组内只有一个控制台,则 vntsd 将会话连接至该 LDoms 控制台。
如果组内有多个控制台,则 vntsd 将提示用户选择要连接到的控制台,如下面的“多控制台选项”部分所示。
对于每个控制台,vntsd 仅向连接到该控制台的第一个用户提供写访问权限。之后连接到该控制台的用户只允许从控制台进行读取,并等待写访问权限。当第一个用户断开连接后,写特权将移交到在队列中等待的下一个用户。如果没有写特权的用户尝试向控制台进行写入,则 vntsd 将显示以下消息:
You do not have write access
没有写访问权限的用户可以通过使用 ~w 特殊控制台命令(在下面的“特殊控制台命令”部分中介绍)强行获取写访问权限。
vntsd 只可通过超级用户特权调用,或者由具有主管理员角色的用户调用。
vntsd 的选项分为多控制台选项和控制台命令。
当一个组中有多个 LDoms 控制台时,支持下面列出的选项。这些选项的使用语法为:
<hostname>-vnts-<group-name>: <option>
例如:
myhost-vnts-salesgroup: h
h 选项调用帮助,如下所述。
显示以下帮助文本:
h -- this help l -- list of consoles q -- quit c{id}, n{name} -- connect to console of domain {id} or domain name
列出组内的所有控制台。例如:
DOMAIN ID DOMAIN NAME DOMAIN STATE 0 ldg1 online 1 ldg2 connected ... ... ...
两个域状态及其含义为:
无任何用户连接至该控制台。
至少一个用户已经连接至该控制台。
从 vntsd 断开连接。
连接到指定的控制台。连接时,将显示以下消息:
Connecting to console <domain-name> in group <group-name> Press ~? for control options ....
作为行的第一个字符出现的波浪号 (~) 是一个转义信号,指示 vntsd 执行特殊控制台命令。双波浪号 (~~) 序列输出一个波浪号。与开头的波浪号结合使用时,vntsd 接受以下特殊控制台命令:
从控制台或控制台组断开连接。
强制获取对控制台的写访问权限。
从该控制台断开连接,并连接到控制台列表中紧邻该控制台的前一个控制台。
从该控制台断开连接,并连接到控制台列表中紧邻该控制台的后一个控制台。
发送中断信号。
发送替代中断信号。
显示 vntsd 帮助,如下所示:
~# - Send break ~^B - Send alternate break ~. - Exit from this console ~w - Force write access ~n - Console next ~p - Console previous ~? - Help
二进制可执行 vntsd 文件。
vntsd 的服务管理工具 (smf(5)) 清单文件。
有关以下属性的说明,请参见 attributes(5):
|
telnet(1)、svccfg(1M)、usermod(1M)、auth_attr(4)、attributes(5)、smf(5)
vntsd 由服务管理工具 smf(5) 管理,其服务标识符为:
svc:/ldoms/vntsd
可以使用 svccfg(1M) 命令更改以下属性:
设置 vntsd 将连接到的虚拟控制台集中器 (virtual console concentrator, vcc) 驱动程序的一个实例。
使用以下语法设置 vntsd 将侦听的 IP 地址:
vntsd/listen_addr:"xxx.xxx.xxx.xxx"
...其中 xxx.xxx.xxx.xxx 是一个有效的 IP 地址。该属性的缺省值设置是侦听 IP 地址 127.0.0.1。如果该值设置为控制域的 IP 地址,则用户可以通过网络连接到客控制台。
注 - 启用对控制台的网络访问有安全问题。任何用户都将能够连接到控制台,因此,缺省情况下它被禁用。
设置超时(以分钟为单位)。如果控制台上没有任何活动(输入或输出),vntsd 将使telnet 连接超时(关闭)。缺省值为 0,即禁用超时。
为正被访问的域控制台启用用户和角色的授权检查。该属性的缺省值为 false 以维护向后兼容性。要启用授权检查,可使用 svccfg(1M) 命令将该属性的值设置为 true。启用该选项后,vntsd 将在 localhost 上侦听并接受连接。当启用了该选项时,如果 listen_addr 属性指定了替代 IP 地址,则 vntsd 将忽略替代 IP 地址并继续在 localhost 上侦听。从其他主机启动的连接也将失败。授权可用于访问所有控制台或控制台组,或访问特定控制台或控制台组。当启用 vntsd 服务时,以下授权会添加到授权描述数据库 auth_attr(4):
solaris.vntsd.consoles:::Access All LDoms Guest Consoles::
添加基于控制台组名称的细粒度授权。例如,如果要被授权的控制台组的名称为 ldg1,则会将以下条目添加到 auth_attr(4) 文件中:
solaris.vntsd.console-ldg1:::Access Specific LDoms Guest Console::
缺省情况下,会为 root 用户或角色分配可访问所有控制台的授权。主管理员(超级用户)可以使用 usermod(1M) 命令为其他用户或角色分配所需的授权。
以下示例向用户 user1 授予可访问所有域控制台的授权。
# usermod -A "solaris.vntsd.consoles" user1
以下示例向用户 user1 授予可访问名为 ldg1 的控制台组的授权:
# usermod -A "solaris.vntsd.console-ldg1" user1