サーバに接続して、一般ユーザーのアカウントを作る仕事で使える魔法のLAMP(2)

LAMP環境を作るには、まずはサーバが必要です。今回は、前回の予告通りさくらインターネットのVPSに接続します。それから、Linuxを動かすために最低限必要な設定方法を今回と次回の2回に分けて解説していきます。(編集部)

» 2011年04月21日 00時00分 公開
[山口晴広株式会社イメージズ・アンド・ワーズ]

避けては通れないセキュリティ

 今回と次回の2回に分けて、LAMP環境を構築する基盤となるサーバの準備手順を解説します。

 本連載はさくらインターネットのVPSサービスを利用して解説を進めます。あなたが使用するパソコンにLinuxをインストールする必要はなく、すぐに使えるようにはなっていますが、基本的な設定はやはり必要です。Linuxそのものの設定は連載のテーマから外れてしまいますので、詳しくは触れません。しかし、インターネット上にあるサーバですから、セキュリティに関する設定を無視するわけにもいきません。

 そこで、Linuxで最低限やっておくべき設定項目を次の4点に絞り込みました。

  • 一般ユーザーの作成
  • アクセス制限
  • パケットフィルタ
  • CentOSのアップデート

 だいぶ駆け足になるかと思いますが、詳細については@ITの過去記事や、市販の解説書なども参照してください。ここで挙げたものはあくまで最低限やるべきことであり、やろうと思えばまだまだ設定の余地もあります。追加で設定した方がよい項目については、後々取り上げていきたいと考えています。

 手順はさくらインターネットのVPSサービスで標準OSとなっているCentOS 5を前提としていますが、基本的な考え方は他のディストリビューションでも通用するものです。また、他の業者が提供するサービスでは同じCentOS 5であってもパッケージのインストール状況など、初期状態が異なる場合があるのでご注意ください。利用するパッケージについてはインストール済みのものであってもできるだけ明示していきます。

サーバへのログイン方法

 一般にVPSやクラウドサーバへログインするには「ssh(Secure Shell)」という通信プロトコルを利用します。このプロトコルでVPSに接続するには、あなたのパソコンに「端末エミュレータ」というソフトウェアをインストールしておく必要があります。Windows向けにはPuTTYというssh対応端末エミュレータがあります。英語版のソフトウェアですが、日本語入力を可能にするパッチもあります。本連載ではこれを利用していきます。

 PuTTYインストールして起動すると、細かい設定項目がたくさんあるウィンドウが表示されます。VPSにログインするには接続先のIPアドレスあるいはホスト名を入力し、使用する通信プロトコルをsshと設定して[開く]ボタンを押すだけです(図1)。

図1 PuTTYの接続先を設定する画面 図1 PuTTYの接続先を設定する画面

 接続に成功するとターミナルウィンドウが開き、IDとパスワードの入力を求めるプロンプトが表示されます(図2)。

図2 VPSへの接続に成功したところ 図2 VPSへの接続に成功したところ

 なおsshを使うと、初回接続時に接続相手の情報の確認ダイアログが表示されます。この情報は保存され、次回以降の接続時に相手先が同じサーバであることがsshプロトコルによって確認されます。仮に違うサーバにすり替えられたとしても、必ず気付くようになっているのです。

rootは使わない

 初期状態でログインできるユーザーはrootのみになっています。rootは何でもできるので便利ですが、操作ミスをしてしまうと致命的な問題が発生することがあります。そこで、root権限を不用意に使わないようにするため、常に一般ユーザーでログインするようにしましょう。ここではatmarkitという名前のユーザーを作成しました(図3)。

# useradd -g users atmarkit
# passwd atmarkit
Changing password for user atmarkit.
New UNIX password: (パスワードを入力)
Retype new UNIX password: (パスワードをもう一度入力)
passwd: all authentication tokens updated successfully.
図3 usersグループに属するatmarkitユーザーを作成したところ

 作成した一般ユーザーでログインする前に、sudoの設定をします。root権限が必要な作業をするとき、sudoを使えばrootユーザーでログインする必要がなくなります。複数のユーザーでサーバを利用する場合でも、ユーザー間でrootユーザーのパスワードを共有せずに済みます。さらに、ユーザーごとに権限を限定することも可能です。実行記録もログに残りますから、管理の上でとても役に立つツールです。

 以下のようにsudoのパッケージをインストールしましょう。

# yum install sudo

 sudoの設定ファイルは/etc/sudoersですが、これは専用のコマンドで編集します。visudoというコマンドを実行するとエディタが起動しこのファイルが開きます。最終行に以下の内容を追記してください。

atmarkit        ALL=(ALL) ALL

 これは「atmarkit」というユーザーにすべての操作を許可するように設定した例です。保存して終了すると、設定ファイルにミスがないか自動的に確認され、問題がなければなにも表示せずに終了します。

 次に、作成した一般ユーザーでログインします。無事ログインできたら、sudo -lと実行してsudoの権限を確認しましょう。正しく設定できていれば図4のようになります。

$ sudo -l
 
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
 
  #1) Respect the privacy of others.
  #2) Think before you type.
  #3) With great power comes great responsibility.
 
[sudo] password for atmarkit: (パスワードを入力)
Matching Defaults entries for atmarkit on this host:
  requiretty, !visiblepw, env_reset, env_keep="COLORS DISPLAY HOSTNAME
  HISTSIZE INPUTRC KDEDIR LS_COLORS MAIL PS1 PS2 QTDIR USERNAME LANG
  LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES
  LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME LC_ALL
  LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
 
User atmarkit may run the following commands on this host:
  (ALL) ALL
図4 sudo -lを実行して権限を確認

 これ以降は常に一般ユーザーでログインし、root権限が必要な操作はsudoを使うようにします。sudoの設定を変えたいときも以下のようにします。

$ sudo visudo

 今回は先に挙げた最低限設定しておくことのうち、一般ユーザーの作成が完了しました。次回は残りのアクセス制限、パケットフィルタ、CentOSのアップデートについて解説します。

著者紹介

株式会社イメージズ・アンド・ワーズ
代表取締役
山口晴広(やまぐち はるひろ)



「仕事で使える魔法のLAMP」バックナンバー

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。