--/--/-- (--)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2011/09/19 (月)
Linuxサーバというのは、何人ものユーザが同時にログインして何かしらの作業をするもの。
Linux環境に慣れている人は当然知っていると思うが、
そこで他人がどういうプロセスを動かしどれだけの負荷をサーバに与えているかなどが、
コマンド一つで簡単にわかってしまう。

興味半分というか何というか、他人が今何しているか見てみるのも面白いかも。
そんなコマンド達を紹介してみようと思う。

・whoコマンド、wコマンド
そのサーバにログインしている人を表示する。
IDLEの項目を見ると、何分前まで作業しているかどうかもわかる。
0.00sとかになってるのは、今まさに作業をしている状態。
ずーっと見てると他人の仕事の頑張り度合いがわかる。
-fオプション指定(または指定なし)でどこのマシンからログインしているかもわかる。
自宅からアクセスしていいたりすると、その人が使ってるIPやプロバイダ等が見える。

・psコマンド
プロセスを調べるためのコマンド(常識)。
% ps aux | grep [ユーザ名]
とかやると、その人のプロセス全てが表示される。

・topコマンド
そのサーバで走っているプロセスを負荷が高い順に表示する。
重いシュミレーションやEDAツールを使うような現場では、
ログインしたらまずはtopしてそのマシンで他人が負荷をかけてないかを調べる風習があるらしい。
CPUの物理コア数以上100%のプロセスをまわすと、サーバが過負荷になってスループットが極端に落ちるので気をつけたい。

・lastコマンド
そのサーバへのユーザのログイン履歴を表示する。
ついでにアクセス元のIP等も表示される。
ずーっと見ていくと、頻繁にログイン・ログアウトを繰り返している頑張ってる人が見えてくる。

怪しい攻撃を受けたら、まずはlastコマンドで履歴を見るというのが常套手段。
rootならその後/varの下を見て詳細を調べる。
ちなみに、Linux系サーバでsshの引数でコマンドを1回実行するような形でログインすると、
lastの履歴に残らない(Unix系は残る)。
これを使ってイタズラができる。でも/varを見られるとバレる。

・fingerコマンド
rootがちゃんと管理している環境でのみだが
% finger [ユーザ名]
とやるとユーザの登録情報が表示される。
ユーザの氏名や部署、使用しているシェルなどが出てくる場合もある。
氏名はわかるけどユーザ名がわからないときに便利かも(そんな状況はあまりないか)。
% cd /home
% finger * | grep -i yamada
みたいな感じ。
ちなみにUnix系だとfinger @[ホスト名]
でユーザのログイン状況が見える。
w,やwhoを使えばいい話だが、他サーバから実行してもlastの履歴に残らないという特性がある。
Linux系だとセキュリティの関係でデフォルトオフである。

・writeコマンド
言わずと知れた最強いたずらコマンド。
他人にメッセージを送りつけることができる。
リダイレクトを使うことでアスキーアートも送信もできる。ハマる。
でも、やりすぎるとmesg nされる。



他にもいろいろあった気がするが、今は思い出せない。

ちょっと頭を使うと、多数のサーバがある環境ではwhoやtopの結果を持ってきて、
特定のユーザやIDLE時間、CPU使用率を抽出して全サーバの状態を一気に調べる
シェルスクリプトも割りと簡単に作れてしまう。
負荷の低いマシンを調べるときなどに超便利。
コメント
この記事へのコメント
コメントを投稿する
URL:
Comment:
Pass:
秘密: 管理者にだけ表示を許可する
 
トラックバック
この記事へのトラックバック
write
2012/10/12(金) | oikw PukiWiki plus! (PukiWiki/TrackBack 0.3)
この記事のトラックバックURL
http://tochiii.blog119.fc2.com/tb.php/281-1b9f854d
この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。