命令行手册

Man » xhost 手册在线 - xhost 手册页的详细在线文档

🌍
xhost - X 服务器访问控制程序

概要

xhost [[+-]名称 ...]

描述

xhost 程序用于将主机名或用户名添加到允许连接到 X 服务器的列表中。对于主机,这提供了一种基本的隐私控制和安全形式。它仅足以用于工作站(单用户)环境,尽管它确实限制了最严重的滥用。需要更复杂措施的环境应实施基于用户的机制或使用协议中的挂钩,以将其他身份验证数据传递到服务器。

选项

Xhost 接受以下命令行选项,如下所示。出于安全考虑,影响访问控制的选项只能从“控制主机”运行。对于工作站,这是与服务器相同的机器。对于 X 终端,它是登录主机。

-help   打印用法消息。

[+]名称 给定的名称(加号是可选的)将添加到允许连接到 X 服务器的列表中。该名称可以是主机名或完整的名称(有关更多详细信息,请参见“名称”部分)。

-名称 给定的名称将从允许连接到服务器的列表中删除。该名称可以是主机名或完整的名称(有关更多详细信息,请参见“名称”部分)。现有连接不会中断,但新的连接尝试将被拒绝。请注意,当前机器可以被删除;但是,不允许进一步的连接(包括尝试将其添加回来)。重置服务器(从而中断所有连接)是允许再次进行本地连接的唯一方法。

+       授予所有人的访问权限,即使他们不在列表中(即关闭访问控制)。

-       仅授予列表中的人员访问权限(即启用访问控制)。

无 如果没有给出命令行参数,则会打印一条消息,指示当前是否启用了访问控制,然后是允许连接的列表。这是唯一可以从控制主机以外的机器使用的选项。

名称

完整的名称具有语法“family:name”,其中 family 如下:

inet      Internet 主机 (IPv4)
inet6     Internet 主机 (IPv6)
dnet      DECnet 主机
nis       安全 RPC 网络名称
krb       Kerberos V5 主体
local     仅包含一个名称,即空字符串
si        服务器解释

family 不区分大小写。名称的格式因 family 而异。

当使用 Secure RPC 时,可以指定网络无关的网络名称(例如,“nis:unix.uid@domainname”),或者可以使用带有尾随 at 符号的用户名来指定本地用户(例如,“nis:pat@”)。


为了与 R6 之前的 xhost 保持向后兼容,包含 @ 符号的名称被假定为属于 nis 家族。否则,它们被假定为 Internet 地址。如果编译时支持 IPv6,则由 getaddrinfo(3) 返回的所有 IPv4 和 IPv6 地址都会添加到访问列表中,并放入相应的 inet 或 inet6 家族中。

local 家族指定所有本地连接。但是,服务器可以解释的地址 "si:localuser:username" 可用于指定单个本地用户。(有关更多详细信息,请参阅 Xsecurity(7) 手册页。)

服务器解释的地址由一个区分大小写的类型标签和一个表示给定值的字符串组成,两者之间用冒号分隔。例如,"si:hostname:almas" 是一个服务器解释的地址,类型为 hostname,值为 almas。有关可用服务器解释地址形式的更多信息,请参阅 Xsecurity(7) 手册页。

显示编号 n 的初始访问控制列表可以通过文件 /etc/Xn.hosts 设置,其中 n 是服务器的显示编号。有关详细信息,请参阅 Xserver(1)。

诊断

对于添加到访问控制列表中的每个名称,都会打印一行,格式为“名称正在添加到访问控制列表”。对于从访问控制列表中删除的每个名称,都会打印一行,格式为“名称正在从访问控制列表中删除”。

参见

X(7), Xsecurity(7), Xserver(1), xdm(1), xauth(1), getaddrinfo(3)

环境

DISPLAY,用于获取要使用的默认主机和显示。

错误

您无法在命令行中指定显示,因为 -display 是一个有效的命令行参数(表示您希望从访问列表中删除名为“display”的机器)。

X 服务器存储网络地址,而不是主机名,除非您使用服务器解释的主机名类型地址。如果以某种方式在服务器仍在运行时更改主机的网络地址,并且您使用的是基于网络地址形式的身份验证,则必须使用 xhost 来添加新地址和/或删除旧地址。

作者

Bob Scheifler,MIT 计算机科学实验室, Jim Gettys,MIT Project Athena (DEC)。