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 を参照してください.
情報実験のように複数の人間で PC を管理することを考えましょう. この場合, 複数の人間がルートになる必要がありますが, ルートのパスワードを共有する のはセキュリティ上危険です. このような場合は sudo コマンドを用いて, 特 定のユーザが自分のパスワードでルート権限でコマンドを実行できるようにし ましょう.
ここで注意しておきたいことは, 今後 Linux にログインするときには, root でログインしてはいけません. root は何でもできますので, 誤って重要なファ イルを消してしまう可能性があります. 作法として, 本当に必要な場合にだけ root になるようにしましょう.
ここでは 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 と付け加えるだけです. 例えば /etc/shadow は root しか見ることの出来ないファイルですが, sudo でルー ト権限が与えられているユーザの場合は
$ sudo cat /etc/shadow
とすることで見ることが可能です. 但しパスワードを聞かれますので, その時 は自分自身のパスワードを入力して下さい.
また, root に成り代わって作業を行う際には
$ sudo -s
としてください. プロンプトが '#' となり, 以後は root で作業する ことが可能です. root から一般ユーザに戻る際には
# exit
とします.
以後の作業は root でログインするのではなく, 一般ユーザでログインした後, sudo を用いて root に成り代わって作業してください.
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/ の下に関しては管理者がしっかりと把握し, 常におかしなもの が起動していないかどうかチェックする必要があります. ps コマンドでどの ようなデーモンが動いているか調べることが必要となります. 特に何の設定も なしに NFS (Network File System; ネットワーク越しに別のコンピュータの ハードディスクを ローカルのハードディスクのように扱うための技術), NIS (Network Information Service; ネットワーク環境で UNIX の設定を集中管理 する技術) を立ち上げた状態にしてはいけません.
以下のコマンドで exim4 を設定し直します.
# export LANG=C # dpkg-reconfigure exim4-config
設定画面で, 1.local 配送のみにする. 2.ローカルメールの配送方式をmbox形式からMaildir形式にする. 他はデフォルトのままで良いです.
下記のコマンドで不要なサービスを止める, もしくは起動しないようにします.
# 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
/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 です.
ここでも必要のない行をコメントアウトします.
# vi /etc/network/interfaces
この中で, allow-hotplug eth1 という行をコメントアウトしてください.
また, その下の行に auto eth1 という行を追加してください.
# allow-hotplug eth1 auto eth1
となっていれば OK です.
編集が終わったら, プロセスの再起動です.
# /etc/init.d/networking restart
以下のコマンドで 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 のカーネルイメージが更新される場合には, その後再起動を行ってください.
以下のコマンドを入力して, root から一般ユーザーに戻りましょう.
# exit
再インストールすることによってEPAサーバにログインするための秘密鍵が消えてしまったので, 過去の資料を参考にして公開鍵・秘密鍵を再生成しましょう. (公開鍵の unlock は再インストール前にしてあります)
注1:公開鍵を貼りつけるときに「追加」にする. 決して上書きをしないこと(家からログインできなくなる)
注2:公開鍵をロックするのを忘れないように.