[ 実習トップページ | 2008 スケジュール・各回資料 | 6/13 | Debian GNU/Linux 4.0(etch) のインストール | Debian GNU/Linux 4.0(etch) の設定 ]

Debian GNU/Linux 4.0(etch) の設定


  1. 概要
  2. 一般ユーザの作成
  3. vi の使用に関して
  4. sudo の設定
  5. X の設定
  6. 不要なネットワークサービスを止める
  7. APT の設定修正
  8. 時刻の設定
  9. セキュリティーアップデート
  10. EPAサーバにログインできるようにする
  11. 参考文献

概要

Debian GNU/Linux 4.0(etch) のインストール 後の設定を行います.

一般ユーザの作成

root でログインし, 以下のコマンドでユーザを作成します. <username> に はそれぞれ自分のユーザ名を入力し, 一人一人がユーザを作成してくださ い. この際, VTA のアカウントも作成してください.

# adduser <username>
Adding user <username>...
Adding new group <username> (1001).
Adding new user <username> (1001) with group <username>.
Creating home directory /home/<username>.
Copying files from /etc/skel
Enter new UNIX password: (パスワード入力)
Retype new UNIX password: (パスワード入力)
passwd: password updated successfully
Changing the user information for samson
Enter the new value, or press return for the default
         Full Name []: (氏名を入力)

その後, 部屋番号, 勤め先の電話番号, 自宅の電話番号, その他の情報について 問われますが, これについての入力は任意です. 最後に

Is the information correct? [y/n]

と問われますので, 上記入力が問題ないことを確認し, y を入力してください. 問題があれば n を入力して最初からやり直してください.

全員が終わるまで繰り返してください.

vi の使用に関して

テキストエディタとして, 以下では vi を使用するようにしています. 使用方法に関しては エディタ vi を参照してください.

sudo の設定

sudo の意義

情報実験のように複数の人間で PC を管理することを考えましょう. この場合, 複数の人間がルートになる必要がありますが, ルートのパスワードを共有する のはセキュリティ上危険です. このような場合は sudo コマンドを用いて, 特 定のユーザが自分のパスワードでルート権限でコマンドを実行できるようにし ましょう.

ここで注意しておきたいことは, 今後 Linux にログインするときには, root でログインしてはいけません. root は何でもできますので, 誤って重要なファ イルを消してしまう可能性があります. 作法として, 本当に必要な場合にだけ root になるようにしましょう.

sudo 設定の作業

ここでは sudo を用いることで, 例えば hoge さんが, 自分のパスワードを用 いて別のユーザ (例えば, 以下の設定では root) の権限でコマンドを実行で きるようします.

/etc/sudoers を編集します. このファイルを編集する際には, visudo という コマンドを用います (visudo コマンドは複数同時の編集を禁止したり, 文法 エラーをチェックしてくれます). では root でログインして, まずは以下のコマンドを実行してください.

# export EDITOR=vi

visudo は環境変数 EDITOR で設定されているエディタが立ち上がるコマンドですが, 最近のデフォルトは vi ではないので vi に設定しておきます. その後で, visudo コマンドを実行しましょう.

# visudo

以下の 1 行を# User privilege specificationの下に追加します.

hoge ALL=(ALL) ALL

各フィールドの意味は次の通りです.

| hoge 

sudo できるユーザのアカウント名. "%" を付けると特定のグループを指す.

|      ALL

ホストに対する許可 (/etc/sudoers にホストに対するエイリアスを 書かない限り ALL にしておけば良い)

|          (ALL)

sudo によって成り替わることが可能なユーザ (ALLの場合には全てのユーザに成り替わることが可能)

|                ALL

利用できるコマンドの制限 (ALL ならば, 上記の丸括弧で 括ったユーザの使える全てのコマンドを利用できる)

この情報実験では, 今回アカウントを作ったユーザが全員管理者なので, この設定を作成したユーザ全てについて行ってください. (もちろん普段サーバ等を運用する際にはむやみやたらと上記の設定を してはいけません).

sudo の使い方

使い方は, 使いたいコマンドの前に sudo と付け加えるだけです. 例えば /etc/shadow は root しか見ることの出来ないファイルですが, sudo でルー ト権限が与えられているユーザの場合は

$ sudo cat /etc/shadow

とすることで見ることが可能です. 但しパスワードを聞かれますので, その時 は自分自身のパスワードを入力して下さい.

また, root に成り代わって作業を行う際には

$ sudo -s

としてください. プロンプトが '#' となり, 以後は root で作業する ことが可能です. root から一般ユーザに戻る際には

# exit

とします.

以後の作業は root でログインするのではなく, 一般ユーザでログインした後, sudo を用いて root に成り代わって作業してください.

X の設定

GUI (グラフィカルユーザインターフェース) 環境で作業するため, X の設定を行います.

root に成り代わり, 以下のようにコマンドを入力してください.

# export LANG=C
# dpkg-reconfigure xserver-xorg

すると X の設定画面が表示されるので, (2つ目の質問で)VGA ドライバとして ati ではなく vesa を選択してください. その他の質問に関してはデフォルト (カーソルが元々 置かれている項目) を選択してください. その後, 以下のコマンドで再起動を行ってください.

# shutdown -r now

再起動すると, GDM (Gnome デスクトップマネージャ) が立ち上がり, GUI インターフェースのログイン画面が表示されます.

しかし, 本実習ではCUIログインプロンプトに慣れてほしいことと, startx というコマンドを知っておいてほしいために GDM を削除します.

そこで, 誰か一人がログインして XTerm を立ち上げ, sudo を用いて root になり代わって以下のコマンドを入力してください.

# apt-get remove gdm

すると GDM が削除され, 再び再起動をすると CUI によるログイン画面が立ち上がります.

不要なネットワークサービスを止める

セキュリティ対策の基本として, 不必要なネットワークサービスが立ち上げな いようにすることが挙げられます. 必要ないネットワークサービスを立ち上げ ていると, それを踏み台にクラックされる可能性が出てきます. 必要ないサー ビスを極力停止しておくことは, 簡単にできる上, 確実な効果を期待できる対 策です.

Debian GNU/Linux では, ネットワークサービスは以下のように起動されます.

なお /usr/sbin/inetd 自体も OS が起動する際に /etc/init.d/openbsd-inetd から起動されます.

/etc/init.d/ 以下のネットワークサービスの停止

/etc/init.d/ の下に関しては管理者がしっかりと把握し, 常におかしなもの が起動していないかどうかチェックする必要があります. ps コマンドでどの ようなデーモンが動いているか調べることが必要となります. 特に何の設定も なしに NFS (Network File System; ネットワーク越しに別のコンピュータの ハードディスクを ローカルのハードディスクのように扱うための技術), NIS (Network Information Service; ネットワーク環境で UNIX の設定を集中管理 する技術) を立ち上げた状態にしてはいけません.

exim4 の再設定

以下のコマンドで exim4 を設定し直します.

# export LANG=C
# dpkg-reconfigure exim4-config

設定画面で, 1.local 配送のみにする. 2.ローカルメールの配送方式をmbox形式からMaildir形式にする. 他はデフォルトのままで良いです.

その他の /etc/init.d 以下から起動されるネットワークサービスの停止

下記のコマンドで不要なサービスを止める, もしくは起動しないようにします.

# cd /etc/rc2.d
# update-rc.d -f portmap remove
# /etc/init.d/portmap stop
# update-rc.d -f hplip remove
# /etc/init.d/hplip stop
# update-rc.d -f bittorrent remove
# /etc/init.d/bittorrent stop
# update-rc.d -f cupsys remove
# /etc/init.d/cupsys stop
# update-rc.d -f nfs-common remove
# /etc/init.d/nfs-common stop

inetd を介して提供されるネットワークサービスの停止

/usr/sbin/inetd によって起動されるネットワークサービスのうち, 必要の無 いものを全て停止します. inetd (インターネットデーモン) は同時に多数の ネットワークポートでの接続要求を待ち, 接続が完了された段階で要求に応じ て適切な TCP サーバ, UDP サーバを起動します. inetd は起動時に /etc/inetd.conf ファイルを読み込み, 実行すべきネットワークサービスを決 定します.

ではまず, ps コマンドで inetd プロセスが動作しているか確認してみましょう.

# ps aux | grep inetd

ここで, 以下のようなメッセージが表示されていれば, inetd プロセスが動作しています.

root      2628  0.0  0.0   1748   580 ?       Ss   Jun10   0:00 /usr/sbin/inetd

このプロセスが動作している場合には, いくつかのネットワークサービスが提供されています. その中には, 不必要なものも含まれています. そこで, /etc/inetd.conf を編集して不必要なサービスが上がらないようにします.

# vi /etc/inetd.conf

必要のないサービスの行をコメントアウトします. 今回は 全てコメントアウトしてください. コメントアウトするには, 行頭 にシャープ '#' を記述します.

/etc/inetd.conf を編集したら編集した内容を反映させるため, 以下のコマン ドで inetd のプロセスを再起動します

# /etc/init.d/openbsd-inetd restart

今回は inetd を介して提供されるネットワークサービスを全てオフにしている ため, 上記のコマンドを入力すると, 「inetd から提供されるサービスが 無いので起動しません」といった旨のメッセージが表示されます. そのメッセージを確認できれば OK です.

/etc/network/interfaces の変更

ここでも必要のない行をコメントアウトします.

# vi /etc/network/interfaces

この中で, allow-hotplug eth1 という行をコメントアウトしてください.

また, その下の行に auto eth1 という行を追加してください.

# allow-hotplug eth1
auto eth1

となっていれば OK です.

編集が終わったら, プロセスの再起動です.

# /etc/init.d/networking restart

APT の設定修正

以下のコマンドで apt-line (APT によるダウンロード先の設定) の修正 を行います.

# mv /etc/apt/sources.list /etc/apt/sources.list.org
# vi /etc/apt/sources.list

以下のように書き込んでください.

deb http://cdn.debian.or.jp/debian etch main contrib non-free
deb-src http://cdn.debian.or.jp/debian etch main contrib non-free

deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free

apt-line の修正後, 以下のコマンドでパッケージリストを更新します.

# apt-get update

時刻の設定

コンピュータ内の時刻を定常的に正しくしておくための設定を行います.

まず, 以下のコマンドで ntpdate パッケージをインストールします.

# apt-get install ntpdate

次に, 以下のコマンドで時刻を修正します. コマンド入力後しばらくすると NTP (Network Time Protocol) サーバより返答が返り, 時刻が修正されます.

# /usr/sbin/ntpdate-debian

下記のように date コマンドで時刻が正しくなっていることを確認してください.

# date
2008年  6月 13日 金曜日 16:17:04 JST

次に, 上記のような時刻修正コマンドを毎日実行するための設定を 行います.

# vi /etc/cron.daily/ntpdate

この ntpdate ファイルには以下のように書き込んでください.

#!/bin/sh
/usr/sbin/ntpdate-debian > /dev/null 2>&1

最後に, このファイルのパーミッションを以下のように設定してください.

# chmod 755 /etc/cron.daily/ntpdate

セキュリティーアップデート

セキュリティーのために root のままで, 以下のコマンドを入力してください.

# apt-get update

# apt-get upgrade

Linux のカーネルイメージが更新される場合には, その後再起動を行ってください.

EPAサーバにログインできるようにする

以下のコマンドを入力して, root から一般ユーザーに戻りましょう.

# exit

再インストールすることによってEPAサーバにログインするための秘密鍵が消えてしまったので, 過去の資料を参考にして公開鍵・秘密鍵を再生成しましょう. (公開鍵の unlock は再インストール前にしてあります)

注1:公開鍵を貼りつけるときに「追加」にする. 決して上書きをしないこと(家からログインできなくなる)

注2:公開鍵をロックするのを忘れないように.

参考文献


[ 実習トップページ | 2008 スケジュール・各回資料 | 6/13 | Debian GNU/Linux 4.0(etch) のインストール | Debian GNU/Linux 4.0(etch) の設定 ]
Last Updated: 2008/06/14 (森川 靖大), Since: 2008/06/04 (今村 翔太)