現在、シェルセッションがログインセッション内で実行されていることを確認しようとしています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、またはシェルで権限の変更を許可する他のツールで実行されています。