• ベストアンサー

whoコマンドで出力される内容

whoコマンドはログインしているユーザを確認できるとありますが、 su - hogeで別ユーザに変更してもwhoの内容が変わりません。 suコマンドではログインしたことにならないのでしょうか?(/etc/profileも読み取られない?) <su前> root :0 Oct 14 06:24 root pts/1 Oct 14 06:54 (:0.0) <su後> root :0 Oct 14 06:24 root pts/1 Oct 14 06:54 (:0.0)

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

whoは/etc/utmpという管理を元に情報を表示します。これが更新されるのは、 (1) ログイン処理時にloginコマンドがログイン情報を書く (2) ログアウト処理時にログインシェル(またはLinuxの場合loginコマンド)の親であるinitプロセスがログアウト情報を書く です。 su - は、「シェルがログイン時と同じ動作をする」ようにシェルを起動しますが、シェルの外側で行われる/etc/utmpの更新は起こりません。