12,982
回編集
306行目: | 306行目: | ||
# または | # または | ||
kdesu <SkiaSharpで開発されたGUIソフトウェアのパス> | kdesu <SkiaSharpで開発されたGUIソフトウェアのパス> | ||
<br><br> | |||
== X11 == | |||
デフォルトでは、セキュリティ上の理由から、rootは非rootユーザのXサーバに接続することができない。<br> | |||
しかし、必要であれば、rootユーザとして接続できるようにする方法が複数存在する。<br> | |||
<br> | |||
X11上でGUIソフトウェアを昇格権限で実行するための推奨される方法は、PolKitポリシーファイルを作成することである。<br> | |||
しかし、<code>pkexec</code>コマンドが注意喚起しているように、これは、<u>レガシープログラムにのみ使用されるべき</u>である。<br> | |||
<br> | |||
GUIソフトウェアは、<u>特権的な操作を、監査可能で、自己完結した、最小限のコード片に委ね、特権昇格を行った後に実行され、必要ない時には削除する</u>べきである。<br> | |||
<br> | |||
X11を使用している場合、GUIソフトウェアを昇格フレームワークでラップして、終了時に取得した特権を削除する。<br> | |||
gnomesu <GUIソフトウェアのパス> | |||
kdesu <GUIソフトウェアのパス> | |||
<br><br> | |||
== Wayland および XWayland == | |||
Waylandセッションにおいて、<code>su</code>コマンド、<code>sudo</code>コマンド、<code>pkexec</code>コマンドを使用して、GUIソフトウェアを実行する場合、以下に示すようなエラーが発生する。<br> | |||
No protocol specified | |||
Unable to init server: Could not connect: Connection refused | |||
(gedit:2349): Gtk-WARNING **: cannot open display: :0 | |||
<br> | |||
X11では、昇格した特権でGUIソフトウェアを実行する場合は、PolKitポリシーファイルの作成、または、<code>sudo</code>コマンドでターミナルから実行することができたが、<br> | |||
WaylandおよびXWaylandでは、Xサーバを起動したユーザのみがクライアントに接続できるよう設定されているため、これらの方法は使用できない。<br> | |||
<br> | |||
安全性は劣るが、<code>xhost</code>コマンドを実行して、rootユーザがローカルユーザのセッションに一時的にアクセスできる方法がある。<br> | |||
これを行う場合は、現在の(非特権)ユーザにおいて、以下に示すコマンドを実行する。<br> | |||
xhost si:localuser:root | |||
<br> | |||
GUIソフトウェアの終了後は、特権を削除する必要がある。<br> | |||
xhost -si:localuser:root | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]] | [[カテゴリ:CentOS]][[カテゴリ:SUSE]][[カテゴリ:Raspberry_Pi]][[カテゴリ:PinePhone]] |