diff --git a/ja_JP.eucJP/books/faq/book.sgml b/ja_JP.eucJP/books/faq/book.sgml
index 6547f96d6c..8cd7fc1610 100644
--- a/ja_JP.eucJP/books/faq/book.sgml
+++ b/ja_JP.eucJP/books/faq/book.sgml
@@ -10,7 +10,7 @@
-$FreeBSD: doc/ja_JP.eucJP/books/faq/book.sgml,v 1.4 1999/09/10 12:54:59 kuriyama Exp $
+$FreeBSD: doc/ja_JP.eucJP/books/faq/book.sgml,v 1.5 1999/09/10 14:08:31 kuriyama Exp $
これは FreeBSD システムバージョン 2.X についての FAQ です. 特に断わりがない限りはどの項目も FreeBSD 2.0.5 以降のものを想定しています. <XXX>のついている項目はまだ作業中のものです. この FreeBSD ドキュメンテーション プロジェクトに協力したいと思ったら, FreeBSD ドキュメンテーションプロジェクトメーリングリスト <freebsd-doc@FreeBSD.ORG>
まで (英語で) 電子メールを送ってください. このドキュメントの最新バージョンは, いつでも 日本国内版 FreeBSD World Wide Web サーバや
@@ -3441,7 +3441,7 @@ id="admin">
2.0.5R から 2.2.1R までは, プライマリコンフィグレーションファイルは
/etc/sysconfig にあります. オプションはすべて, このファイルと
-/etc/rc および /etc/netstartといった,
+/etc/rc および /etc/netstartといった,
別のファイルに指定されています.
ファイル /etc/sysconfig を見て, システムに適合するように
@@ -3449,13 +3449,13 @@ id="admin">
コメントがたくさん書かれています.
2.2.2 に続くリリース と 3.0 では, /etc/sysconfig は,
-より分りやすい名前の rc.conf に改名され, それに従って
+より分りやすい名前の rc.conf に改名され, それに従って
書式もいくぶん改められます. /etc/netstart も
/etc/rc.network に改名され, 全部のファイルを
-cp /usr/src/etc/rc* /etcで一度にコピーすることが
+cp /usr/src/etc/rc* /etcで一度にコピーすることが
出来るようになります.
-ファイル /etc/rc.local は常にここにあり, INN
+ファイル /etc/rc.local は常にここにあり, INN
や http といった追加のサービス開始や
カスタムオプションを記述するために使われるでしょう.
@@ -3501,14 +3501,13 @@ Intel
簡単にユーザを追加するにはどうすればいいのですか?
-adduser コマンドを使用してください.
+adduser コマンドを使用してください.
+また,
+pw
+コマンドを用いることで, さらに細かい操作が可能です.
+
-Ollivier Robert によって Perl で書かれた ``new-account'' と
-呼ばれるパッケージもあります. これについては
-<roberto@FreeBSD.ORG> にたずねてみてください.
-現在さらなる開発をおこなっています.
-
-また, ユーザを削除するには rmuser
+また, ユーザを削除するには rmuser
コマンドを使用してください.
@@ -3516,7 +3515,7 @@ Intel
FreeBSD システムに新しいハードディスクを追加するには?
-www.freebsd.org に書かれているディスクフォーマット
+www.FreeBSD.org に書かれているディスクフォーマット
チュートリアルを参照して下さい.
@@ -3544,16 +3543,16 @@ Intel
出荷時の設定の ZIP ディスクではこうです.
- mount -t msdos /dev/sd2s4 /zip
+ mount -t msdos /dev/da2s4 /zip
-その他のディスクに関しては, fdisk
+その他のディスクに関しては, fdisk
や /stand/sysinstall を使って, どのようにレイアウト
されているか確かめてください.
以降は ZIP ドライブが 3 番目の SCSI ディスクで,
-sd2 と認識されている場合の例です.
+da2 と認識されている場合の例です.
他人と共有しなければならないフロッピーやリムーバブルディスク
でなければ, BSD ファイルシステムを載せてしまうのが良い考えでしょう.
@@ -3568,8 +3567,8 @@ sd2
全体を飛ばして, BSD のパーティション設定を行うだけで良いでしょう.
- dd if=/dev/zero of=/dev/rsd2 count=2
- disklabel -Brw sd2 auto
+ dd if=/dev/zero of=/dev/rda2 count=2
+ disklabel -Brw da2 auto
@@ -3583,22 +3582,22 @@ ZIP
ZIP ドライブの場合は, 以下のようにします.
- newfs /dev/rsd2c
+ newfs /dev/rda2c
次にマウントします.
- mount /dev/sd2c /zip
+ mount /dev/da2c /zip
-また, 次のような行を /etc/fstab に入れておくのも良い考えでしょう.
+また, 次のような行を /etc/fstab に入れておくのも良い考えでしょう.
"mount /zip" と入力するだけでマウントできるようになります.
- /dev/sd2c /zip ffs rw,noauto 0 0
+ /dev/da2c /zip ffs rw,noauto 0 0
@@ -3610,12 +3609,12 @@ ZIP
DOS 拡張パーティションはすべての基本パーティションの後に
認識されます. たとえば, 2台目の SCSIドライブの拡張パーティションに
"E" パーティションがあるとしますと, これは /dev にスライス 5
-のスペシャルファイルを作る必要があり, /dev/sd1s5 としてマウントされます.
+のスペシャルファイルを作る必要があり, /dev/da1s5 としてマウントされます.
# cd /dev
- # ./MAKEDEV sd1s5
- # mount -t msdos /dev/sd1s5 /dos/e
+ # ./MAKEDEV da1s5
+ # mount -t msdos /dev/da1s5 /dos/e
@@ -3631,7 +3630,7 @@ UFS
の詳細に依存します.
Linux: 2.2 以降は ext2fs パーティションをサポートします.
-マニュアルの mount_ext2fs を見てください. より多くの情報があります.
+マニュアルの mount_ext2fs を見てください. より多くの情報があります.
NT: FreeBSD 用の読みだしのみ可能な NTFS ドライバがあります.
より詳しくは, Mark Ovens 氏によって書かれたチュートリアル
@@ -3677,7 +3676,7 @@ MBR
マウントします.
- dd if=/dev/rsd0a of=/mnt/bootsect.bsd bs=512 count=1
+ dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1
@@ -3687,7 +3686,7 @@ MBR
(パーミッション) の変更を以下のようにおこないます:
- attrib -s -r c:\boot.ini
+ attrib +s +r c:\boot.ini
@@ -3727,8 +3726,8 @@ DOS
FreeBSD が別のディスクにインストールされているのなら, LILO の
エントリに ``loader=/boot/chain.b'' を追加してください.
例えば, このようになります:
- other=/dev/sdb4
- table=/dev/sdb
+ other=/dev/dab4
+ table=/dev/dab
loader=/boot/chain.b
label=FreeBSD
@@ -3739,12 +3738,12 @@ DOS
例えば, FreeBSD SCSI ディスクが BIOS によって BIOS ディスク 1 と
して認識されるのなら, FreeBSD のブートローダのプロンプトで, 次の
ように指定する必要があります:
- Boot: 1:sd(0,a)/kernel
+ Boot: 1:da(0,a)/kernel
FreeBSD 2.2.5 やそれ以降の版では, ブート時に上記のことを行なう
-だけで自動的に boot(8)
+だけで自動的に boot(8)
が設定されます.
Linux+FreeBSD mini-HOWTO が FreeBSD と Linux とを相互に
@@ -3852,7 +3851,7 @@ FreeBSD
はまっさらだと思い込ませる方法です. 例えば, こんな感じです.
- dd if=/dev/zero of=/dev/rsd0 count=15
+ dd if=/dev/zero of=/dev/rda0 count=15
@@ -3989,9 +3988,9 @@ NFS
/usr/share/syscons/keymaps と拡張子 .kbd は
-どちらも kbdcontrol によって使用されます.
+どちらも kbdcontrol によって使用されます.
-これは /etc/sysconfig (または rc.conf) 中で設定することができます.
+これは /etc/sysconfig (または rc.conf) 中で設定することができます.
このファイル中にあるそれぞれのコメントを参照してください.
2.0.5R やそれ以降の版では, テキストフォントやキーボードマッピングに
@@ -4223,7 +4222,7 @@ id="uucpmail">
しなければなりません.
/etc/sendmail.cfを自分の手で改造するのは純粋主義者の
-やるような事です. sendmailの version 8 は m4 のような
+やるような事です. sendmailの version 8 は m4 のような
プリプロセッサを通して設定ファイルを生成する新しいアプローチを
取っており, より抽象化されたレベルの設定ファイルを編集します.
以下のディレクトリの中にある設定ファイルを使用してください.
@@ -4484,7 +4483,7 @@ sendmail
元のファイル名で作成され, 整形前のファイルはバックアップとして元の
ファイル名の末尾に拡張子 .bak のつけられた名前で作成されます.
-あるいは tr(1) コマンドを使うこともできます:
+あるいは tr(1) コマンドを使うこともできます:
tr -d '\r' < dos-text-file > unix-file
@@ -4499,7 +4498,7 @@ perl
名前で指定してプロセスにシグナルを送るにはどうすればいい?
-killall(1) を
+killall(1) を
使って下さい.
@@ -4592,10 +4591,30 @@ bin
+
+snd0 デバイスを作成することができません!
+
+以下に示すコマンドでサウンドカード用のデバイスを作ることができます.
+ # cd /dev
+ # sh MAKEDEV snd0
+
+
+ただし, このコマンドは /dev/snd0
+という名前のデバイスファイルを作成するわけではなく, 代わりに
+mixer0, audio0,
+dsp0
+などといった名前のデバイスファイルを作成します.
+作成されるデバイス名は異なるのですが,
+サウンドデバイスを追加するためには, 依然として
+上に示すコマンドの実行が必要です.
+
+
+
+
リブートせずにもう一度 /etc/rc.conf を読み込んで /etc/rc を開始させるには?
-シングルユーザモードに移行して、マルチユーザモードに戻ってください.
+シングルユーザモードに移行して, マルチユーザモードに戻ってください.
コンソールで次のように実行します:
# shutdown now
@@ -4605,7 +4624,108 @@ bin
# exit
-
+
+
+
+砂場(sandbox)とは何ですか?
+
+"砂場(Sandbox)" とはセキュリティ用語の一つで,
+次の二つの意味があります.
+
+
+
+
+
+
+
+一つ目は, 「仮想的な『防壁』で囲まれているプロセス」です.
+その『防壁』は, そのプロセスに侵入した第三者が,
+さらにシステムの広い範囲に影響を与えることを防ぐように設計されます.
+
+
+
+
+このプロセスの振舞いは, 『防壁』の中だけに制限される, と表現できます.
+つまり, このプロセスにおいて, 『防壁』を越えるようなコードの実行は
+できないという意味です. そのため, コードの実行におけるセキュリティは
+確かなものであると保証でき, 実行の詳細な追跡を行なう必要はなくなります.
+
+
+
+
+その『防壁』とは, 例えばユーザ ID がそれにあたるでしょう.
+この定義は, security(7) や named(8) のマニュアルページで用いられています.
+
+
+
+
+'ntalk' サービス(/etc/inetd.conf 参照のこと)を例にとってみます.
+このサービスはかつて, 実行時の ユーザ ID として
+root を用いていましたが, 現在では tty というユーザ ID で動作します.
+ユーザ tty は, ntalk を経由してシステムの侵入に成功した第三者が
+そのユーザ ID 以上の権限を得ることを,
+より一層困難にするために設計された砂場(sandbox)なのです.
+
+
+
+
+
+二つ目は「シミュレートされたマシンの内側で実行されるプロセス」のことで,
+こちらはより中核的です.
+普通に考えれば, あるプロセスに侵入することができる第三者は,
+マシンのより広い範囲にも侵入できると信じるものなのですが,
+この種のプロセスの場合, それは実際にはシミュレートされたマシンに
+侵入しただけなので, 現実のデータを変更することは何一つできません.
+
+
+
+
+これを実現するための最も広く用いられている方法は,
+シミュレートされた環境をサブディレクトリに構築し,
+そのディレクトリに chroot して, そのディレクトリで
+プロセスを実行すること(つまり, そのプロセスにとって "/" は
+システムの実際のルートディレクトリ "/" ではなく,
+chroot されたサブディレクトリを指す)です.
+
+
+
+広く用いられているもう一つの方法があります.
+それは, 既に存在しているファイルシステムを
+読み込み専用(read-only)でマウントし, その上に, あるプロセスに対して
+そのファイルシステムが書き込み可能であるように見せるような,
+もう一つのファイルシステムの層を用意するものです. すると,
+そのプロセスはファイルを書き込むことができると認識し,
+実際に書き込むことができるのもその特定のプロセスだけ
+- システムにある他のプロセスは書き込めないのに対して -
+であるという状況を実現することができます.
+
+この種の砂場(sandbox)は,
+その非常に透過的な性質を使って, ユーザ(もしくは侵入者)が
+その事実に気付かないように実現されます.
+
+
+
+
+
+UNIX は, 内部的に二つの砂場(sandbox)を実装しています.
+一つはプロセスレベルのもの, もう一つはユーザ ID レベルのものです.
+
+UNIX プロセスは全て, 他の UNIX プロセスから完全に隔離されています.
+どのプロセスも, 他のプロセスのアドレス空間を変更することはできません.
+これは, あるプロセスが他のプロセスのアドレス空間を上書きできるような,
+クラッシュにつながる行為が容易に実現できる Windows とは全く異なるものです.
+
+
+UNIX プロセスは, 特定のユーザ ID が所有します.
+もし, 実行者のユーザ ID が root ユーザのものでなければ,
+ユーザ ID は, 他のユーザが所有するプロセスから
+そのプロセスを守る機能を果たすわけです.
+また, そのユーザ ID は, ディスク上にあるデータを
+保護するのにも使われています.
+
+
+
+