たとえシステムを立ち上げる前でも、実現すべきセキュリティのレベルを決め ておかなければなりません。最初は、すべきことが決まるまではマシンを ネットワークに接続してはいけません。
セキュリティの分野はとても広範囲であり、この HOWTO の対象を超えていま す。最初の手がかりとしては、Linux Security Administrator's Guide ( http://www.seifried.org/lasg)と Linux Security Guide ( http://nic.com/~dave/Security)をお勧めします。少なくとも、 以下のことは考慮してください: シャドウパスワードの使用(Shadow Password HOWTO)、 マシンへのネットワークアクセスの制限( Restricting Network Access の節)、 Secure Shell ( http://www.cs.hut.fi/ssh/) または Secure Remote Password ( http://srp.stanford.edu/srp/) の使用。 好運を祈ります。
インストール済みのマシンを問題無い状態に保つためには、マシンに対して行っ た変更を正確に把握することが重要です。把握すべきなのは、その日に インストールしたパッケージや、削除や修正を行ったファイル等です。したがっ て、マシンをいじる前にまず行うべきことは「記録帳」を付けることです。 記録帳には root で行った全ての変更をメモします。筆者の記録帳 には、修正したシステムファイル、追加した RPM パッケージ、インストール した .tar.gz ファイルが書いてあるページもあります。理想的には、この変更 を逆にたどることによって、マシンを最初にインストールした状態に戻すことが できます。
触ったシステムファイルはバックアップしておきましょう。もっと良いのは、 RCS を使うことです。RCS を使えば全ての変更を遡ることができます。root になって作業したら、行った変更は必ず記録しましょう!
インストール中に設定していなかったり、キーボードを替えた時には次のよう にします。
it.map
はイタリアのキーボード用のテーブルです:
KEYTABLE="it"
とします:
/sbin/kbdrate -s -r 16 -d 500 # お好みに合わせてください
このキーテーブルを読み込むためには /etc/rc.d/init.d/keytablestart を実行してください。その他の特殊キーに関しては続いて説明します。
NumLock キーをデフォルトで on にしたい場合には、 /etc/rc.d/rc.sysinit に次の行を追加してください:
for tty in /dev/tty[1-9]*; do
setleds -D +num < $tty
done
新しくインストールしたシステムに対しては、起動フロッピーを 2 枚くらい 用意しておきましょう。お使いのディストリビューションにはこういった フロッピーを作成するコマンドがあると思います。もしなければ、以下の コマンドで作成できます:
#~ dd if=/boot/vmlinuz-2.0.36-0.7 of=/dev/fd0 # 実際のカーネルイメージを指定
#~ rdev /dev/fd0 /dev/hda2 # 実際の Linux パーティション
また、すぐ使えるレスキューディスクを少なくとも 2 枚は用意しておきましょ う。レスキューディスクには色々な種類があり、それらは ftp://metalab.unc.edu/pub/Linux/system/recovery から入手で きます。どれを選べば良いか分からない方には Tomsbtrt をお勧めしておきま す。
次に行なうべきことは、あなたのシステムに最適なカーネルを構築すること
です。非常に単純ではありますが、とにかく/usr/src/linux/ に
ある README
ファイルか Kernel-HOWTO を読んでください。ヒントとしては:
SVGATextMode
がおそらくは最善の方法でしょう
(詳しくは、
SVGATextMode をご覧ください)。
ともかく、カーソルを大きくするパッチに関する情報は、
http://www.linuxhp.com/patch/20-p0239.html
にあります。
alias net-pf-4 off
alias net-pf-5 off
次にカーネルの再構築を行うときのために、設定ファイルを安全なところに保
存しておくと良いでしょう。注意 - カーネルのアップグレードを行うときには、
新しいカーネルの機能についての記述が無いため、この設定ファイルは役に
立ちません。
システムによっては、ブート時に sendmail
がシステムを 2〜3 分停止さ
せてしまうことがあります。これは、1)インターネットに直接接続されていな
い場合と 2)インターネットに直接接続されていて、固定IPアドレスを持ってい
る場合の 2 つが考えられます。
前者の場合に、最も簡単な修正方法は、/etc/hosts に、 以下の行を挿入することです。
127.0.0.1 localhost
後者の場合には、/etc/hosts に以下のような行があると問題 が発生します。
127.0.0.1 localhost your_host_name
この場合には、以下のように分割してください:
127.0.0.1 localhost
w.x.y.z your_host_name
Hostnameの節も参考にしてください。
ハードディスクの性能は hdparm
(8)を注意深く使うこと
によって改善するかもしれません。もし hdparm
がないなら、
ftp://sunsite.unc.edu/pub/Linux/system/hardware で
hdparm-X.Y.tar.gz を探してください。
詳細な部分については、ハードディスクとハードディスクコントローラに依 存しますので、どうすれば良いかを一般的に示すことはできません。ファイル システムを駄目にしてしまわないように、man page を注意深く読んで から使ってください。最も簡単な方法は、 /etc/rc.d/rc.sysinit に以下の行を加えることです:
/sbin/hdparm -c1 /dev/hda # 一番目のIDEドライブの場合
これによって、(E)IDE 32ビット入出力が可能になります。-m オプションにつ
いては、hdparm
の作者 Mark Lord からこんな email がきています:
(...) もしあなたのシステムがここ 1、2 年の部品を使っているなら問題はありません。 それより古い場合には(あまり考えにくいのですが)問題があるかもしれません。 バグの多いチップは、CMD0646 と RZ1000 で、2、3 年前まで、486 や初期の 586 用の マザーボードのほとんどで使われていました。
最近のマシンならば、以下の設定でうまく動作するはずです:
/sbin/hdparm -c1 -A1 -m16 -d1 /dev/hda
パラレルポートの Zip ドライブを使うには、最近の(2.x.x)カーネルのデフォ
ルトドライバで大丈夫です。カーネル再構築の際には、SCSI のサポートと SCSI
ディスクのサポートを使えるようにしておいてください。Zip ドライブとパラレル
プリンタが同じパラレルポート上にあると、競合が起こることがあります。そ
んな時は、モジュールを使うようにしてください。これとは別の ppa
が
http://www.torque.net/~campbell にあります。
Zip ディスクは、/dev/sda4 パーティションを使うように予め フォーマットされた状態で売られています。Zip を使えるようにするには、 以下の設定を /etc/rc.d/rc.sysinit に追加します:
# Zip ドライブを使えるようにします
/sbin/modprobe ppa
Zip ディスクは /etc/fstab を以下のように設定すればマウン トできます。あるいは、この行を /etc/mtools.conf に追加す れば Mtools で使えます。
drive z: file="/dev/sda4" exclusive
これに加えて、mzip
コマンドを使うとディスクのイジェクト、状態
の問い合わせ、書き込み、Zip ディスクのパスワード保護ができます。詳しく
は man mzip
をご覧ください。Mtools のホームページは
http://linux.wauug.org/pub/knaff/mtools
です。
/dev
にデバイス(というよりは実際のデバイスドライバへのリンク)
が無いことがあります。マウス、モデム、CD-ROM ドライブなどのデバイスを
確認してください。もしも無い場合には、次のようにしてください:
~# cd /dev
/dev# ln -s ttyS0 mouse; ln -s ttyS1 modem; ln -s hdb cdrom; ln -s sda4 zip
(訳注: 上記は例ですので、それぞれのデバイスがそれぞれのデバイスファイ ルに接続されているとは限りません。確認の上でシンボリックリンクを張るよ うにしてください)
ノートブックの大部分はマウスが /dev/psaux になっています。 X11 の設定の際にもこの点に注意してください。
必要ならば、これらのデバイスに対して chmod 666
を実行すると誰
でもアクセスできるようになります。
筆者は古い Sound Blaster 16 しか持っていません。しかし、読者のみなさん が何か別のカードを持っていても、以下の説明をガイドとして参考にできるで しょう。
筆者はサウンドカードのサポートをモジュール(sb.o
)としてコンパ
イルしています。それから /etc/conf.modules に以下の行を追
加しています:
options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330
alias sound sb
サウンド機能を有効にするには、/etc/rc.d/rc.sysinit 内で
modprobe sound
を必ず実行してください。これを行う代わりに、
RedHat のサイトから sndconfig
ツールを入手してもよいでしょう。
ログイン時のメッセージを変更したいなら、/etc/rc.d/rc.local で /etc/issue と /etc/motd が上書きされていないかを 調べてください(RedHat の場合)。 その場合には、エディタで変更してください。
ログインメッセージに色を付けたければ、rc.local
に以下のような
設定を入れてください:
# ^[ ではなく、実際のエスケープ文字を入れます。これは以下の操作で行います:
# emacs: ^Q ESC vi: ^V ESC joe: ` 0 2 7 jed: ` ESC
ESC="^[" # 実際のエスケープ文字
BLUE="$ESC[44;37m"
NORMAL="$ESC[40;37m"
CLEAR="$ESC[H$ESC[J"
> /etc/issue
echo "$CLEAR" >> /etc/issue
echo "$BLUE Welcome to MyServer (192.168.1.1) " >> /etc/issue
echo "$NORMAL " >> /etc/issue
echo "" >> /etc/issue
ホスト名を変える場合には、hostname new_host_name
としただけでは不十分です。
恐ろしい sendmail
のロックを避けるためには以下のようにします
(これが当てはまるのはスタンドアロンのマシンだけです):
new_host_name.localdomain
)。
127.0.0.1 localhost new_host_name.localdomain
gpm
のマウスサービスは、tty モードでカットアンドペーストを行ったり、
アプリケーションでマウスを使うのに有効です。RedHat の場合、
/etc/sysconfig/mouse に次のような行があるのを確認してください:
MOUSETYPE="Microsoft"
XEMU3=yes
さらに、/etc/rc.d/init.d/gpm があることを確認してください。 ここで、コマンドラインパラメータの追加をしてください。私の場合には:
...
daemon gpm -t $MOUSETYPE -d 2 -a 5 -B 132 # two-button mouse
...
としました。
もちろんマウスの設定があなたのマウス用に正しく設定されている必要があります。
ほとんどのノートブックの場合、MOUSETYPE
は ``PS/2
'' です。
Caldera では、/etc/rc.d/rc.bootに次の行を加えてください:
/usr/bin/gpm
S.u.S.E の場合には、gpm
のオプションは /etc/rc.config に記述します。
Debian の場合には /etc/gpm.conf を編集してください。
コンソールの中で、Ctrl-buttonでメニューを呼び出したい場合には、
gpm-root
を編集してください。 /etc/gpm-root.conf
のデフォルトメニューを編集して、 /etc/rc.d/rc.local
より gpm-root
を立ち上げるようにしてください。
フロッピーディスクなどのデバイスや、NFS でエクスポートされたディレクトリのために、 マウントポイントを用意しておくと便利です。例えば以下のようにします:
~# cd /mnt
/mnt# mkdir floppy; mkdir cdrom; mkdir win; mkdir zip; mkdir server
これらは、DOS/Win フロッピ, ext2 フロッピ, CD-ROM, Windows パーティション、Zip ドライブや NFS ディレクトリのマウントポイントとなります。
/etc/fstabを編集して、以下の項目を追加してください。
/dev/fd0 /mnt/floppy auto user,noauto 0 1
/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 1
/dev/zip /mnt/zip vfat user,noauto,exec 0 1
/dev/hda1 /mnt/win vfat user,noauto 0 1
server:/export /mnt/server nfs defaults
最初の欄には正確なデバイス名を書いてください。最近のカーネルでは fat32 が
最初から組み込まれていますが、古いバージョンの場合には、
http://bmrc.berkeley.edu/people/chaffee/fat32.html にある
パッチを当ててください。詳しくはman mount
をご覧ください。
最初の行ではファイルシステムの種類が ``auto'' になっている点に注意して
ください。これを用いると、ext2 と vfat (DOS/Windows) のどちらのフロッピー
もマウントできます。ただし mtools
の方がもっと便利でしょう。
多くのユーザは、 Linux と DOS/Windows の両方をPC上で動かしており、ブート時に どちらの OS を使うかを選択しています。-これはインストール時に設定しておくべきです。 そうでない場合は以下のようにしてください。 /dev/hda1 に DOS/Windows がインストールされていて、/dev/hda2 に Linux がインストールされている としましょう。
~# fdisk
Using /dev/hda as default device!
Command (m for help):a
Partition number (1-4): 2
Command (m for help):w
~#
これで、 Linux パーティションから起動できるようになります。次に、基本的な /etc/lilo.conf ファイルを書きます:
boot = /dev/hda2
compact # "linear" と衝突するかもしれません
delay = 100 # 10 秒
linear # 「1024 シリンダ」問題を回避します
# message = /boot/bootmesg.txt # 指定するならば、実際のファイルを指定します
root = current
image = /boot/vmlinuz # この項目が最初なので、デフォルトでは Linux が起動します
label = linux
read-only
# append="mem=128M" # 64M 以上のメモリを扱うため
other = /dev/hda1
table = /dev/hda
label = dos
次に /sbin/lilo
を実行すれば終りです。lilo
はインストールの中でも
特に重要な部分ですので、ドキュメントを良く読むことを強くお勧めします。
DOS/Windows からリセットをかけずに Linux を起動するには、
LOADLIN.EXE
を DOS パーティションの中のパスの通ったディレクトリに置き、
カーネルを、たとえば C:\DOS\VMLINUZ
にコピーします。
次のバッチファイルで Linux を起動できます:
rem linux.bat
smartdrv /C
loadlin c:\temp\vmlinuz root=/dev/hda2 ro
もし、Windows 9x を使っているなら、このバッチファイルが、 MS-DOS モードで 実行されるようにしてください。
Linux のインストールの前に MBR のバックアップをとっておくと、非常に安全です。
インストール前に restorrb
(FIPS
パッケージに含まれています。)
を使うか、Linux のレスキューフロッピーを使って以下のコマンドを実行して
ください:
rescue:~# dd if=/dev/hda of=MBR bs=512 count=1
フロッピーに MBR
のコピーを最低 2 つは作っておきましょう。
古い MBR を復旧させる場合は /mnt
以下に MBR
の入ったフロッピー
をマウントさせてから以下のコマンドを実行します:
rescue:~# dd if=/mnt/MBR of=/dev/hda bs=446 count=1
ここでは MBR
が入っているフロッピーは /mnt
にマウン
トされているものとします。以上の作業を行う代わりに、DOS の
レスキューフロッピーを使って FDISK /MBR
を実行しても構いませ
ん。
HTML で書かれたメールやテキスト以外のファイル形式を含むメールを読みたく なることがあるでしょう。このような時には、/etc/mime.types と /etc/mailcap の 2 つのファイルがあることを確認してください。 最初のファイルには、以下のようにファイルの形式と、関係する拡張子を書いて おきます:
application/postscript ps eps
image/jpeg jpe jpeg jpg
text/html html
2 番目のファイルには、メールクライアントがどのようにそのファイルを表示 するかを書いておきます。
Microsoft Outlook を使っている人からメールを受け取ると、そのメールは マルチパート MIME 形式になっていますが、/etc/mailcap に次 の 2 行を追加することで、読むことができます:
text/plain; less %s; needsterminal
text/html; lynx -force_html %s; needsterminal
私の知っているすべてのディストリビューションでは、プリンタの設定ツール
が用意されています。(printtool
, yast
, magicfilter
など)。
もし、これらのツールが用意されていない場合には、以下の設定を行ってください。
なお、PostScript 対応でない(また、「Windows 専用」ではない!) プリンタに テキスト (たとえば C のソースファイルなど) を印刷したいと仮定します。 また、PostScript ファイルに関してはすでにインストールされているであろう Ghostscript を使って印刷することを仮定します:
プリンタの設定はいくつかのステップで行います:
~# echo "hello, world" > /dev/lp0
~# echo "hello, world" > /dev/lp1
~# cd /var/spool/lpd
/var/spool/lpd/# mkdir raw; mkdir postscript
~# echo "first line" > /dev/lp1 ; echo "second line" > /dev/lp1
出力が以下のようであれば:
最初の行
その次の行
のようになっていたら、次のスクリプトを /var/spool/spd/raw/filter
として保存してください:
#!/bin/sh
# This filter eliminates the "staircase effect"
awk '{print $0, "\r"}'
次にこのファイルを chmod 755 /var/spool/lpd/raw/filter
として、
実行可能にしてください。
chmod 755 /var/spool/lpd/raw/filter
として実行可能にしてください。
#!/bin/sh
DEVICE=djet500
RESOLUTION=300x300
PAPERSIZE=a4
SENDEOF=
nenscript -TUS -ZB -p- |
if [ "$DEVICE" = "PostScript" ]; then
cat -
else
gs -q -sDEVICE=$DEVICE \
-r$RESOLUTION \
-sPAPERSIZE=$PAPERSIZE \
-dNOPAUSE \
-dSAFER \
-sOutputFile=- -
fi
if [ "$SENDEOF" != "" ]; then
printf "\004"
fi
(この例では、 HP DeskJet プリンタを仮定しています。あなたのプリンタに
合わせて修正してください。)
# /etc/printcap
lp|ps|PS|PostScript|djps:\
:sd=/var/spool/lpd/postscript:\
:mx#0:\
:lp=/dev/lp1:\
:if=/var/spool/lpd/postscript/filter:\
:sh:
raw:\
:sd=/var/spool/lpd/raw:\
:mx#0:\
:lp=/dev/lp1:\
:if=/var/spool/lpd/raw/filter:\
:sh:
もっと複雑なプリンタの設定については、 Printing-HOWTO をご覧ください。
printtool
を使う場合、Printtool の選ぶ GSDEVICE で動作しますが、
必ずしも最善ではないことに注意してください。postscript.cfg
ファイル
をちょっといじってみてください。たとえば、私の場合 GSDEVICE を cdj500
から djet500
に変更したら、とても印刷が早くなりました。
ftp://tsx-11.mit.edu/pub/linux/sources/sbin にある このツールは、コンソール画面の解像度、フォント、カーソル形状を変えるの に便利です。アクセント記号を含むような文字を利用しているユーザは、 これらをコンソール上に表示できます。ノート PC のユーザの場合には、 カーソル形状をもっと見やすくすることができます。
/etc/TextConfig もしくは /etc/TextMode の default VGA difinition で始まる部分を編集してください。ヨーロッパの人 は、``LoadFont'' のところを以下のようにすると、幸せになれるでしょう:
Option "LoadFont"
FontProg "/usr/bin/setfont"
FontPath "/usr/lib/kbd/consolefonts"
FontSelect "lat1u-16.psf" 8x16 9x16 8x15 9x15
FontSelect "lat1u-14.psf" 8x14 9x14 8x13 9x13
FontSelect "lat1u-12.psf" 8x12 9x12 8x11 9x11
FontSelect "lat1u-08.psf" 8x8 9x8 8x7 9x7
これが終わったら、SVGATextMode "80x34x9"
のようなコマンドで設
定を試します。これできちんと動作するようであれば、
/etc/TextMode から警告部分を削除し、以下の行を
etc/rc.d/rc.sysinit に入れます:
# SVGATextMode
/usr/sbin/SVGATextMode "80x34x9"
ブロックカーソルは、一部のモードでしか動作しないことに注意してください。 筆者のノートマシンでは "80x32x9" で動作しました。