以下は簡単な文章です。 Xサーバーがrootまたはユーザーとして実行されていることを確認する方法/コマンドはありますか?
これは気の利いた言葉でしたが、残念ながら...最近Arch Linuxボックスをアップグレードしました。アップグレード後、X
ルートなしで実行できると言われました。公式のArch Linuxページを確認しましたが、次のようになります。
systemd-logindの助けを借りて、Xには根がありません[...][1]
これにより、X
ルートなしで実行されていることを確認する方法に興味がありました。これはどのように達成できますか?
答え1
ユーザーID(UID)を出力する方法はいくつかありますps
。簡単な方法は次のとおりです-f
。
ps -fC X
これは、実行中のすべてのXサーバーに関する情報を提供します(1つ以上の可能性があります)。
これは実行可能ファイルが呼び出されると仮定しますX
。そのようなプロセスがない場合は、他のものをターゲットにする必要があります。少なくとも大文字のX(たとえば、、Xorg
)X11
が含まれていることはほぼ確実です。
ps -o uid,comm -A | grep X
これにより列ヘッダーが削除されますが、UIDは左側の数字です。そうで0
あれば、プロセスはrootとして実行されています。結果が出ない場合はお試しくださいps -fA | grep X
。もっと混乱しています。
X
最後に、名前に大文字のプロセスがない場合は、最小またはx
等の制御コマンドを見つけることができます。あなたもそれを試してみることができます。なぜなら、ディスプレイマネージャはしばしば名前(など)にこの単語を含めるからです。しかし、これらのどれも実際にはXサーバーではなく、サーバーが起動してもサーバーの実行可能ファイルは通常startx
xinit
dm
gdm
xinit
setuid ビットセットつまり、xinit
権限のないUIDを使用してもXはまだrootとして実行されます。