• ベストアンサー

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% (4848/10261)
回答No.1

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

関連するQ&A

  • whoコマンド

    whoコマンドでだれがログインしているか調べたら、pts0とpts1があると表示されました。 複数ログインした覚えがないので、wコマンドで調べてみると、pts1が現在の端末ということがわかりました。 pts0は最初にログインした時間だったのですが、whatの項目をみると"-bash"となっていました。 とくに何もしていないはずなのですが、どうしてpts0,1という風に2つあり、whatの項目が"-bash"となっているのでしょうか?

  • 一般ユーザーからrootにできない

    vine linux4.2でサーバーを立てているのですが、少々問題が起こりました。 一部のユーザー(hoge)だけがrootになれるよう以下のように設定をしました。 /etc/login.defs SU_WHEEL_ONLY yes /etc/group wheel:x:10:root,hoge /etc/pam.d/su auth required /lib/security/pam_wheel.xo use_uidの#を削除しております。 ある一定の期間までは、この状態で $su - と入力してrootのパスワードを入力すると一般のユーザからrootにすることができました。 ですが、数カ月たってから、 $su - と入力してrootのパスワードを入力すると su: パスワードが違います と出ます。 secureのログを見ると以下の内容が出ます。 (1)はroot から hogeへ 成功 (2)はhoge から rootへ 失敗 (1)Apr 3 14:07:54 sv su: pam_unix(su:session): session opened for user hoge by root(uid=0) (2)Apr 3 14:07:59 sv su: pam_unix(su:auth): authentication failure; logname=root uid=500 euid=500 tty=pts/0 ruser=hoge rhost= user=root また、再起動をしてrootで入ることは可能です。 rootから #su - hoge と入力して hoge に入ることも可能ですが、 逆の場合が不可能です。 以下の方法は何も設定せずにやってみました 一般ユーザーから一般ユーザーへの移動も パスワードが違います とでます。 何か解決策はございませんでしょうか。 今の状態ですと、Tera Termを使ってSSHでの接続は可能ですが、rootになれないためユーザーの追加などがサーバーで操作しなければならない状態です。 よろしくお願いします。

  • vine linux4.2でサーバーを立てているのですが、少々問題が起

    vine linux4.2でサーバーを立てているのですが、少々問題が起こりました。 一部のユーザー(hoge)だけがrootになれるよう以下のように設定をしました。 /etc/login.defs SU_WHEEL_ONLY yes /etc/group wheel:x:10:root,hoge /etc/pam.d/su auth required /lib/security/pam_wheel.xo use_uidの#を削除しております。 ある一定の期間までは、この状態で $su - と入力してrootのパスワードを入力すると一般のユーザからrootにすることができました。 ですが、数カ月たってから、 $su - と入力してrootのパスワードを入力すると su: パスワードが違います と出ます。 secureのログを見ると以下の内容が出ます。 (1)はroot から hogeへ 成功 (2)はhoge から rootへ 失敗 (1)Apr 3 14:07:54 sv su: pam_unix(su:session): session opened for user hoge by root(uid=0) (2)Apr 3 14:07:59 sv su: pam_unix(su:auth): authentication failure; logname=root uid=500 euid=500 tty=pts/0 ruser=hoge rhost= user=root また、再起動をしてrootで入ることは可能です。 rootから #su - hoge と入力して hoge に入ることも可能ですが、 逆の場合が不可能です。 以下の方法は何も設定せずにやってみました 一般ユーザーから一般ユーザーへの移動も パスワードが違います とでます。 何か解決策はございませんでしょうか。 今の状態ですと、Tera Termを使ってSSHでの接続は可能ですが、rootになれないためユーザーの追加などがサーバーで操作しなければならない状態です。 よろしくお願いします。

  • wallコマンドの出力に対する設定

    wallコマンドの結果を2つ表示するなどの設定方法はあるのでしょうか? あるLinuxカスタマイズOSを使用しており、ttyがpts/0でログインしたユーザのみ wallコマンドの結果が2つ表示されております。 pts/1以上の場合はログインユーザに関係なくwallコマンドの結果は1つしか表示されません。 手元の書籍やインターネットの検索で調べているのですが、 wallコマンド回り自体、それほど情報量がなく解決できておりません。 ご存じでしたら解説をお願いします。 【pts/0の出力イメージ】 <user> # Broadcast message from xxxx@xxxxxxxxx <wall command text> Broadcast message from xxxx@xxxxxxxxx <wall command text> 【pts/0以外の出力イメージ】 <user> # Broadcast message from xxxx@xxxxxxxxx <wall command text>

  • CENTOSでadduserで作成したユーザでログインできない

    *環境 CENTOS4 GNOME bash *症状 [root@myhost ~]# su - hoge su: パスワードが違います ・ルートユーザにもかかわらず一般ユーザにログインできない ・CENTOSのグラフィックログインで一般ユーザで入れない(rootのみ入れる) *ためしたこと root でGUIログインののち、 ユーザ追加 #adduser hoge # id hoge uid=508(hoge) gid=508(hoge) 所属グループ=508(hoge) パスワード設定 # passwd hoge Changing password for user hoge. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully. shadow確認 # cat /etc/shadow | grep hoge hoge:$1$XkexNO3i$HRO.MkHbbZPn2sImrUJ9O/:13650:0:99999:7::: passwd確認 # cat /etc/passwd | grep hoge hoge:x:508:508::/home/hoge:/bin/bash homeディレクトリ確認 # ls -la /home/ | grep hoge drwx------ 3 hoge hoge 4096 5月 18 01:12 hoge 上記設定のあと、 # su hoge su: パスワードが違います となってしまいます。 初歩的な質問ですが困り果てております よろしくおねがいします。 ちなみにnologinは作成されていません。 # ls /etc/nologin ls: /etc/nologin: そのようなファイルやディレクトリはありません

  • ファイルのデフォルトパーミッション設定が出来ません

    Red Hat Linux 8.0を使っているLinux入門者です。 デフォルトパーミッションを、 所有者以外の読み書きが出来ない様にしたいのですが、 umaskの設定がうまくいかずに困っております(T.T) ~/.bash_profile に「umask 066」と 下記サイトに出ている通りに追記したのですが、 ( http://www.atmarkit.co.jp/flinux/rensai/security02/security02c.html ) X(GNOME)のターミナル上で設定が全く反映されないのです。 テキストモードや仮想コンソールでは 確かに設定が適用になっているのですが.....。 あと、suを実行後に確認すると何故かちゃんとなっています。 /etc/profile の方もいじってみましたが駄目でした。 ちょっと分かり辛いかもしれませんが、大体下記の様な状況です。 ~/.bash_profileを編集後、rootでログイン  × Xのターミナルでumaskコマンドで設定を確認  ○ umask 066とコマンドラインから実行、確認  × su を実行して確認  ○ su - を実行して確認  × シェルスクリプトにumask 066と書いて実行、確認  ○ Ctrl+Alt+F1で仮想コンソールに切り替え、確認  ○ テキストログイン後、umaskコマンドで確認 その他のユーザーでログイン  ○ su - ユーザー名 を実行して確認    その他はrootと同じ ○=設定が反映されている ×=変化無し  という感じで全くのお手上げ状態なのです。 何か考えられる原因はありますでしょうか? 何分、Linux初心者で基本的な事が抜けているのかもしれません。 お気づきの点がございましたら、 どんな事でも結構ですのでご指摘頂ければと思います。 情報が足りない部分があれば補足致します。 どうか宜しくお願いします。

  • suコマンドが。。。

    初心者の質問ですが、教えて下さい。 先日RedHat8.0をインストールしたのですが、root以外のログインができません。 ユーザーを追加し、パスワードを設定するところまではでき、GUI画面のユーザーとグループでも追加されていることを確認できています。 ただ、ログイン時にその追加したユーザーでログインできず、またターミナルでsuコマンドを使おうとしても、反応がありません。 画面的には、こんな感じです。 [root@xxx root]# su - aaa [root@xxx root]# このように、エラーすら出ない状態です。 ログイン時のroot以外のユーザ名を入れたときも同じ感じです。 ご助言、よろしくおねがいいたします。

  • su できません

    /etc/passwd内のrootのログインシェルを書き間違えてしまい,su時に su: No shellといわれてしまいます. 一般ユーザで ln コマンドを使用し,書き間違えたファイル名にして実行しようととしました. しかし,/sbin/ 内のファイルのため,一般ユーザでは書き込めません. また,su -s /sbin/sh としてもできませんでした. どのようにすれば su することができるのでしょうか. 使用しているOSはsoraris7です. なにとぞよろしくお願いします.

  • linuxコマンドでファイル操作

    linuxなどのターミナル上で、ファイル内部をコマンドで編集したいのですが できますでしょうか。 例をあげますと、 hoge.shというスクリプトファイルに、 ... ... echo "/home/user001/hoge/" ... のような内容のものがあった時に、 echo "/home/user001/hoge/" の部分だけを、 echo "/home/user002/hoge/" に変更したいのです。エディタで編集すれば良いのでしょうが、 量が多く、スクリプト可したいと考えています。 もし、コマンドラインからこのような簡単な変更ができるものがあれば 教えて頂けないでしょうか。

  • リモートログインの停止方法について

    Solaris10において、rootユーザについては、 /etc/default/login ファイルに「CONSOLE=/dev/console」 を設定すれば、リモートから直接ログインできずに 別のユーザでログインした後に、su で変更しないといけない (コンソールでは直接ログイン可能)ことはわかったのですが、 rootユーザ以外の特定ユーザをリモートから直接ログインすることを 禁止することはできるのでしょうか? (すべてのアカウントがリモート接続できなくするわけではなく、  個人ごとに付与されるアカウントでリモートからログインしたのち、  su で特定のユーザに変更する ということを実現したい) ※同じ端末から異なる個人ユーザでリモートからログインされるため、  IPではじくこともできない状態です。