このスクリプトは何をしていますか?
#!/bin/bash
xhost +local:
xhost +si:localuser:root
xhost
のデフォルトのリストは何ですか?
xhost +SI:localuser:root
は、root
ユーザーが実行中のXサーバーにアクセスできるようにします。現在のXサーバーは、DISPLAY
環境変数によって示されます。 xhost +local:
はすべてのユーザーに対して同じことを行うため、root
行はあまり役に立ちません。
manpage にはかなり良い説明があります:
[+]name The given name (the plus sign is optional) is added to the list
allowed to connect to the X server. The name can be a Host
name or a complete name (See NAMES for more details).
...
NAMES
A complete name has the syntax ``family:name'' where the families are
as follows:
...
local contains only one name, the empty string
si Server Interpreted
...
The local family specifies all the local connections at once. However,
the server interpreted address "si:localuser:username" can be used to
specify a single local user. (See the Xsecurity(7) manual page for more
details.)
そして、 Xsecurity
manpage は次のように言います:
SERVER INTERPRETED ACCESS TYPES
The sample implementation includes several Server Interpreted
mechanisms:
IPv6 IPv6 literal addresses
hostname Network Host name
localuser Local connection user id
localgroup Local connection group id
ちょっとしたコンテキスト:Xサーバーへのアクセスを許可するために一般的に使用される2つの方法があります。 1つはXauthority
ファイルを使用する方法です。このファイルはクライアントによって共有されており、サーバー側の追加設定は不要です。もう1つは、サーバー上でruntimeで構成が行われるxhost
リストを介したものです(したがって、これは永続的な変更ではありません)。
したがって、localuser
はそのまま保持されるキーワードです(root
はここのユーザー名です)。これは、グループがサーバーの承認を理解しているという点で、グループに追加することに似ています。ただし、システムグループまたはユーザーは影響を受けません。 Xサーバーのランタイム構成のみが変更されます。
引数なしで実行した場合のxhost
のデフォルトの動作は、マンページにあるようにリストを印刷することです:
nothing If no command line arguments are given, a message indicating
whether or not access control is currently enabled is printed,
followed by the list of those allowed to connect.
例えば:
$ xhost
access control enabled, only authorized clients can connect
SI:localuser:muru
(muru
は私のユーザー名です。)
( nixおよびLinuxでの私の投稿 )から