第10回 rootユーザー向けコマンド - Linux入門講座

はたぴょん先生のLinux講座

Lecutures on PHP

第10回 rootユーザー向けコマンド (その1)

 このエントリーをはてなブックマークに追加

rootユーザー向けコマンド

はたぴょん先生こんにちは、はたぴょんです。
全国的に梅雨に入り、すっきりしない天気が続いてますね。朝から雨が降っているとどうしても憂鬱な気分になりがちですが、この時期にしっかり雨が降ってくれないと水不足が心配ですからね。

最近は連載が1ヶ月毎なので、毎回季節が微妙に変化していて、この連載記事を書きながらしか季節を意識しないってどうなんだろう?と、ちょっと思っています。

さて、今回はrootユーザー向けコマンドということで、rootユーザーやrootユーザーになる権限を持ったユーザー(つまり管理者)がよく使うコマンドを取り上げてみました。

あくまでもPHPプログラマ向けと言うことで、こういうときにこういうコマンドを知っていると良いかもね。と、いうものを取り上げています。

rootユーザーになる

まずは、ユーザー切り替えのコマンドであるsuコマンドです。

su - ユーザー名

rootユーザーに切り替える場合はユーザー名を省略します。他の一般ユーザーに切り替える場合はユーザー名を記述します。切り替え対象のユーザーのパスワードを求められるので、正しいパスワードを入力すると、ユーザーが切り替わります。

suコマンド実行例

-(ハイフン)は、ユーザーの切り替えと同時に環境の切り替えを行うことを表します。ハイフンを付けなかった場合は切り替え前のユーザーの環境を引き継ぎ、ユーザーのみを切り替えます。

例えば、一般ユーザーからrootユーザーへ切り替えた場合、ハイフン付きで切り替えるとshutdownなどrootユーザーにしか使えないコマンドが利用可能ですが、ハイフンを付けなかった場合、rootユーザーに切り替えてもこれらのコマンドは使えません(*1)。

シャットダウン

コンピュータをシャットダウンさせるためのshutdownコマンドは、rootユーザーのみが使えるコマンドです。

shutdown -h now

このコマンドで即時シャットダウンします。

再起動する場合は

shutdown -r now

はたぴょん先生と、いうように-rオプションを指定します。

先にも書きましたが、shutdownはrootユーザーにしか使えないコマンドで、一般ユーザーは実行することができないコマンドです。

それはなぜかというと、バックグラウンドでApacheなどのデーモンがいくつも動作しているサーバを、おいそれと一般ユーザーにシャットダウンされては困るからです。

ログ監視

次はtailというコマンドです。このコマンドはファイルの末尾を表示するコマンドで、一般ユーザーでも使えますが、rootユーザーなら更に便利にこのコマンドを使えます。

tail -f ファイル名

はたぴょん先生tailコマンドは-fオプションを付けると終了しなくなります。そして、表示しているファイルに変更が加えられるとその内容をリアルタイムに表示するようになります。これはログの監視に向いています。

Apacheのログをtailコマンドで監視しながら、ブラウザでWebアプリケーションにアクセスし、どのタイミングでどのようなエラーが起きているのかを監視し、デバッグに役立てたりします。

監視を終了する場合はCtrl+Cでtailコマンドが終了します。


tailコマンド実行例

このスクリーンショットを見ても分かるように、tailコマンドが終了していないためプロンプトが表示されていません。表示しているログに変更が加わると、リアルタイムに表示されます。





----
(*1)正確には、pathなどの環境変数の変更が行われないために、使えなくなっているだけなので、ハイフン無しで切り替えても /sbin/shutdown のようにフルパスを記述すれば実行可能です。

  • 1
  • 2

  



Pick Up Q&A

Q
掲示板サイトを作成するときの、コメントしたユーザーのID取得方法
 このエントリーをはてなブックマークに追加 
A
2chがどのようなハッシュ形式を使っているかは知りませんが、 概ねIPアドレスをcryptやmd5などでハッシュ値にして一部分を取り出しているものだと思います。 単純にハッシュ関数を使うだけだとIPがバレてしまう...

>>続きを読む

alice4work様 shimix様 ご回答ありがとうございます。掲示板サイトを作る上で重要なトピックです。IPアドレスの解読を防ぐためにソルトを付加する点がポイントですね。

▲解説者:岡本(アシアル株式会社 教育コーディネーター兼 システムエンジニア)