Xサーバーがroot権限で実行されていることを確認する方法

Xサーバーがroot権限で実行されていることを確認する方法

以下は簡単な文章です。 Xサーバーがrootまたはユーザーとして実行されていることを確認する方法/コマンドはありますか?


これは気の利いた言葉でしたが、残念ながら...最近Arch Linuxボックスをアップグレードしました。アップグレード後、Xルートなしで実行できると言われました。公式のArch Linuxページを確認しましたが、次のようになります。

systemd-logindの助けを借りて、Xには根がありません[...][1]

これにより、Xルートなしで実行されていることを確認する方法に興味がありました。これはどのように達成できますか?

答え1

ユーザーID(UID)を出力する方法はいくつかありますps。簡単な方法は次のとおりです-f

ps -fC X

これは、実行中のすべてのXサーバーに関する情報を提供します(1つ以上の可能性があります)。

これは実行可能ファイルが呼び出されると仮定しますX。そのようなプロセスがない場合は、他のものをターゲットにする必要があります。少なくとも大文字のX(たとえば、、XorgX11が含まれていることはほぼ確実です。

ps -o uid,comm -A | grep X

これにより列ヘッダーが削除されますが、UIDは左側の数字です。そうで0あれば、プロセスはrootとして実行されています。結果が出ない場合はお試しくださいps -fA | grep X。もっと混乱しています。

X最後に、名前に大文字のプロセスがない場合は、最小またはx等の制御コマンドを見つけることができます。あなたもそれを試してみることができます。なぜなら、ディスプレイマネージャはしばしば名前(など)にこの単語を含めるからです。しかし、これらのどれも実際にはXサーバーではなく、サーバーが起動してもサーバーの実行可能ファイルは通常startxxinitdmgdmxinitsetuid ビットセットつまり、xinit権限のないUIDを使用してもXはまだrootとして実行されます

関連情報