web-dev-qa-db-ja.com

xhostおよびxhost + siとは何ですか?

このスクリプトは何をしていますか?

#!/bin/bash
xhost +local:
xhost +si:localuser:root

xhostのデフォルトのリストは何ですか?

8
srinuab4u

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での私の投稿 )から

13
muru