セッションが「su」で実行されていることを確認する

セッションが「su」で実行されていることを確認する

現在、シェルセッションがログインセッション内で実行されていることを確認しようとしていますsu

この状況をテストする最良の方法は何ですか?

ベストアンサー1

lognameコマンドを表示します。 logname は、utmp ログで提供されているように、制御端末にログインしたユーザーのユーザー名を印刷します。

tk-mbp:~ tkennedy$ id -g -rn
staff
tk-mbp:~ tkennedy$ id -u -rn
tkennedy
tk-mbp:~ tkennedy$ logname
tkennedy
tk-mbp:~ tkennedy$ su -
Password:
tk-mbp:~ root# id -g -rn
wheel
tk-mbp:~ root# id -u -rn
root
tk-mbp:~ root# logname
tkennedy

この例はMac OS Xからのものであるため、コマンドの使用はid他のオペレーティングシステムと異なる場合がありますが、ログ名の使用はMac OS間で一貫しています。

lognameを使用すると、コマンドによって返されたユーザーが次のようになると想定できますidいいえ返されたユーザーと同じlogname場合、現在のシェルセッションは、su、sudo、またはシェルで権限の変更を許可する他のツールで実行されています。

おすすめ記事