FreeBSD QandA 2002年1月26日 更新分
管理番号 1069 (新規)
更新履歴
Q. sendmail の aliases に設定したメールアドレス宛にメールを送付した時に、
alias に発信者が含まれていても発信者本人には配信されません。
これを発信者にも配信されるようにすることは出来ますか。
A. sendmail の MeToo オプションが False になっている為、このような挙動に
なっています。(デフォルトは False です)。他のオプションと共に
sendmail(8) に説明されているので、一読しておきましょう。
sendmail.cf で設定する方法、コマンドラインで指定する方法があります。
その設定で使い続けたい場合は前者の方がよいでしょう。
(1) sendmail.cf で設定する。
(1a) cf を利用する場合は、sendmail.mc に
define(`confME_TOO', `True')dnl
と記述します。
(1b) 直接 sendmail.cf を編集する場合、
O MeToo=True
と記述します。標準の sendmail.cf だと
#O MeToo=True
とコメントアウトされているので、外せばよいでしょう。
また、
O MeToo=False
または短い記述方法を用いて
OmFalse
となっている場合は、この部分を上記のように変更しましょう。
(1c) CF を利用する。
CF では confME_TOO で設定します。
(2) sendmail のコマンドラインでは sendmail(8) に記載の通り、
-O MeToo=True
とオプションを指定出来ます。
管理番号 443 (更新)
更新履歴
Q. ports をインストールしようとして make を実行すると、
fetch: hogehoge-1.1.tar.gz: ......
>> Couldn't fetch it - please try to retrieve this
>> port manually into /usr/ports/distfiles/ and try agein.
となり、インストールできません。
A. Makefile の中に書かれているソースファイルを、ネットワークを使ってダウ
ンロードしようとしたが失敗した、というエラーメッセージです。この原因は
主に、ファイアウォール等が存在するか、ファイルが指定された URL に無い
事が考えられます。
A1. ファイアウォール
あなたのマシンがファイアウォール (firewall) の中にあるために、外部へ
のアクセスに特定の制限が設けられている場合があります。その制限はファ
イアウォールの構成と設定などにより異なりますが、fetch(1) の設定を変
えることで回避できるかもしれません。注意点として FreeBSD 4.1-RELEASE
から、fetch(1) や pkg_add(1) が fetch(3) ベースに書き直されています
ので、それまでの ftpio(3) ベースと仕様が異なる点があることです。
1. passive モードで FTP する時
# env FTP_PASSIVE_MODE=ON make
2. HTTP proxy サーバを利用する時
# env HTTP_PROXY="http://hostname[:port]" make (libfetch ベース)
# env HTTP_PROXY="hostname[:port]" make (libftpio ベース)
FTP_PROXY が未設定で HTTP_PROXY が設定されていると、`ftp://...' と
いう URL でも HTTP proxy サーバ経由でダウンロードします。
3. FTP proxy サーバを利用する時
# env FTP_PROXY="ftp://hostname[:port]" make (libfetch ベース)
# env FTP_PROXY="hostname[:port]" make (libftpio ベース)
hostname[:port] の部分は、例えば proxy.foo.bar.co.jp:8080 などと指定
します。FTP proxy と HTTP proxy を併用する場合は、両方の環境変数を設
定してあげます。もっと凝った設定が必要なら、詳細はそれぞれの man ペー
ジを読んでください。
上記のように実行してうまくいったら、~/.cshrc や ~/.profile に環境変
数の設定を行なうか、login.conf(5) に設定してやればシステム全体に効果
があります。
A2. ファイルが指定された URL に無い
あなたの使っている ports のバージョンが古いため、既に配布ファイルが
置いてないのかもしれません。例えば、ports は hogehoge-1.1.tar.gz を
ダウンロードしようとしたけれど、指定された場所には最新バージョンの
hogehoge-1.2.tar.gz しか置いてない、ということが考えられます。
そのときはどこかからファイルを取ってきて、/usr/ports/distfiles/ に
置き、改めて make を行なってください。ファイルを
LYCOS FTP Search サイト <URL:http://ftpsearch.lycos.com/>
などで探し、
# cd /usr/ports/distfiles; fetch ftp://foo.bar.com/pub/hogehoge-1.1.tar.gz
でダウンロードするのが簡単です。
管理番号 2058 (新規)
更新履歴
Q. i810, i815 グラフィックチップのマシンに XFree86 4.x 入れたところ、
XFree86 -configure すると、画面が真っ黒になり、ハングアップしたよう
になり、動作しません (core dump することもあるようです)。/var/log
に記録されたログを見たところ、ddc のところで止まっているようです。
(II) Loading sub module "ddc"
(II) LoadModule: "ddc"
(II) Loading /usr/X11R6/lib/modules/libddc.a
(II) Module ddc: vendor="The XFree86 Project"
compiled for 4.1.0, module version = 1.0.0
ABI class: XFree86 Video Driver, version 0.4
A. <URL:http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/handbook/x-config.html>
に対処方法があります。要点は以下のとおりです。
1. /boot/loader.conf に以下の行を追加して再起動します。
agp_load="YES"
2. デバイスノードがあるか確認し、なければ以下のように作成します。
# cd /dev
# sh MAKEDEV agpgart
3. XFree86 -configure を実行し、XF86Config の雛形を作ります。画面が切
り替わり、何も表示されないままハングアップしたようになる場合は、
[Ctrl]+[Alt]+[Del] で FreeBSD をリブートしてください。この場合でも
カレントディレクトリに XF86Config.new というファイルができているで
しょう。
4. この XF86Config.new の Device セクションに Option NoDDC を追加しま
す。XFree86 -configure で XF86Config を作成した場合は、先の
handbook にしたがって、さらに Monitor セクションに Horizsync,
VertRefresh を、Screen セクションに Depth, Modes を設定します。
作成した XF86Config に問題がないか確認します。
XFree86 -xf86config XF86Config.new
X が立ち上がり、グレーのバックにマウスポインタが表示されます。マウ
スを動かして問題なければ [Ctrl]+[Alt]+[Backspace] で終了し、
XF86Config.new を /etc/X11/XF86Config としてコピーすれば完了です。
より細かく設定するには /usr/X11R6/lib/X11/XF86Config.eg にサンプル
がありますので、参考にするといいでしょう。
なお、XFree86 -configure がうまく動作しないような環境では、
xf86cfg -textmode を試してみると良いかもしれません。
管理番号 464 (更新)
更新履歴
Q. コンソールから root でログインしようとしましたが、パスワードを忘れて
しまいログイン出来ません。どうしたら良いでしょうか?
A. root のパスワードを忘れてしまうなど言語道断です。手始めに security(7)
を読むなどして、ちゃんとセキュリティに関して勉強し、ルートの心を学んで
ください。最近ではインターネットに常時接続されるマシンも多くなっていま
すから、もし悪意のある攻撃を受けたらひとたまりもないでしょう。これから
は絶対に忘れないようにするということで、以下に対処方法を説明します。
まずマシンが動作中であれば、なんとかしてシステムを止めなければなりませ
ん。shutdown(8) コマンドや CTRL+ALT+DEL キーが使えれば安全にリブートで
きますが、どちらも不可能であれば、sync(8) コマンドを2,3回タイプしてか
ら、リセットまたは電源を切るようにしてください。もし sync もできないよ
うなら…、神様にお祈りするしかないでしょう。
次にパスワードの変更方法ですが、/etc/ttys で console が `insecure' に
設定されていると、シングルユーザ・モードのシェルが起動される前に、root
のパスワード入力を求められてしまいお手あげなので、fixit floppy などを
利用することになります。デフォルトのままなら console は `secure' です
ので、シングルユーザ・モードに落して passwd(8) コマンドを使うだけです。
# If console is marked "insecure", then init will ask for the root password
# when going to single-user mode.
console none unknown off secure
^^^^^^ ここを確認
1. console が `secure' の場合 (FreeBSD のデフォルト)
(1) シングルユーザ・モードに落します。
`shutdown now' でシングルユーザに落します。それができないならリブー
トして次のような loader(8) のメッセージが表示されたら、スペースバー
を叩いて autoboot を停止させ、コマンドプロンプトから `boot -s' と
タイプします。
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel] in 7 seconds...
FreeBSD 2.2.x では "boot:" の表示が出たら "-s [RET]" と入力します。
(2) "Enter root password, or ^D to go multi-user"
と表示される場合は、2. の方法を試してください。
"Enter pathname of shell or RETURN for /bin/sh:"
と表示されたら、そのままリターンキーを押して次へ進みます。
(3) 念のためファイルシステムの整合性をチェックします。
# fsck -p
システムを強制リセットした場合、ファイルシステムが損傷を受ける可
能性があります。重大な不整合が発見されたとき `fsck -p' はエラーで
終了しますので、エラーが報告されたパーティションに対し、個別に
fsck(8) をかける必要があります。
(4) ファイルシステムをマウントします。
# mount -u /
# mount -a -t ufs
(5) ここで、
# passwd
として root のパスワードを設定して下さい。
(6) root のパスワード設定が終わったら
# exit
して下さい。OS が起動されます。
2. console が `insecure' の場合
要点は別のシステムからブートすることです。その際、厳密に FreeBSD の
バージョンが同じでなくともかまいませんが、できるだけ同じものを使うこ
とを勧めます。もし、別の HDD, スライスからブート可能であれば、それを
使うのも良いですし、"live filesystem" CD/DVD や fixit floppy を使う
のでもかまいません。ここでは fixit floppy を使うものとして説明します。
(1) kern.flp, mfsroot.flp でインストーラを起動し、メニューから Fixit
モードに入ります (Main Menu -> Fixit -> Floppy または CDROM)。
マシン構成によっては、kern.flp のカーネルをカスタムカーネルに差し
替えておく必要があるかもしれません。
(2) 必要とするデバイスファイルを作成します。既に /mnt2/dev に存在する
なら、それを使ってもかまいません。
# ln -s /mnt2/etc/group /etc
# ln -s /mnt2/dev/MAKEDEV /dev
# cd /dev && sh MAKEDEV da0s2a
FreeBSD のバージョンによっては、MAKEDEV には修正が必要です。これで
エラーとなるようなら次のようにしてみてください。
# sed 's%/sbin/mknod%/mnt2/stand/mknod%' /mnt2/dev/MAKEDEV > /dev/MAKEDEV
(3) ファイルシステムをマウントします。
# fsck -p /dev/da0s2a || fsck /dev/da0s2a
# mount /dev/da0s2a /mnt
まずルートパーティションを /mnt にマウントし、/usr パーティション
を /mnt/usr へというふうに階層的にマウントしてあげます。fixit.flp
では /usr が必要ですが、CDROM が使える場合はルートだけで足ります。
(4) root のパスワードフィールドを空にします。
# vi /mnt/etc/master.passwd
root:$1$xxxxx:0:0::0:0:Charlie &:/root:/bin/csh
^^^^^^^^ ここを削除
(5) パスワードデータベースを再構築します。
# ln -s /mnt/usr/lib* /usr
# /mnt/usr/sbin/pwd_mkdb -p -d /mnt/etc /mnt/etc/master.passwd
fixit.flp には pwd_mkdb(8) が入ってないので、共有ライブラリを準備
してシステムのものを利用します。もし CDROM を使えるときは、単に次
のように実行すれば良いでしょう。
# pwd_mkdb -p -d /mnt/etc /mnt/etc/master.passwd
(6) 終了。あとでパスワードを再設定するのを忘れずに。
# reboot
管理番号 1299 (更新)
更新履歴
Q. XEmacs (Emacs, Mule) を使っていますが SHIFT+SPACE や SHIFT+o を押すと、
本来のキーバインドが無視され、kinput2 の入力ウィンドウがポップアップ
してしまいます。
A. この問題は XEmacs (Emacs, Mule) のキーバインドが kinput2 に乗っ取られる
ことによって生じます。XIM を無効にすればこの問題を回避できます。
お勧めは
XEmacs (Emacs, Mule) を起動するときに、環境変数 XMODIFIERS を
@im=none (none は実在しないもの) にしておく。
です。XEmacs の場合なら具体的には
$ XMODIFIERS=@im=none xemacs & (sh系)
% env XMODIFIERS=@im=none xemacs & (csh系)
のように起動します。これを alias にしておくか /usr/local/bin/xemacs という
シェルスクリプトにしておくと便利でしょう。XEmacs でなく Emacs や Mule を
使用している場合は xemacs の部分を emacs や mule に読み替えてください。
確認環境: 4.3-RELEASE とその ports/packages
ja-xemacs-canna-21.1.14
ja-kinput2-canna-3.0
3.1-RELEASE とその ports/packages
ja-mule-wnn[46]-2.3
ja-kinput2-wnn[46]-2.0.4
FreeBSD 固有の問題ではありません。
X サーバは、上記環境のとおりで、XEmacs (Emacs, Mule) を X クライアント
として Solaris から起動した場合も、ja 環境で起動すれば同様の現象が
起きます。
管理番号 2077 (新規)
更新履歴
Q. 起動時に時刻を合わせるにはどうしたらいいですか?
A. 起動時に ntpdate で時刻補正を行いましょう。
/etc/rc.conf に
ntpdate_enable="YES"
ntpdate_flags="xxx.xxx.xxx.xxx"
の二行を追加しましょう。
管理番号 366 (更新)
更新履歴
Q. Webブラウザからユーザーの追加や削除、更新を行なえるようなツールはあ
るでしょうか。
A. Ports Collection に入っているものとしては、 ports/sysutils/webmin
があります。
<URL:http://www.webmin.com/webmin/>
管理番号 571 (更新)
更新履歴
Q. FreeBSD で CD-R を焼くことはできますか?
A. お使いの CD-R のインターフェースによって、方法が異なります。
1. ATAPI CD-R
FreeBSD 4.0-RELEASE 以降に含まれている burncd(8) を使います。
2. SCSI CD-R
Cdrecord (sysutils/cdrtools) というプログラムがあります。
Cdrecord では、Sony 製や YAMAHA 製などの国内で流通している
メジャーなドライブが使えます。使用可能なドライブの情報などは、
<URL:http://www.fokus.gmd.de/research/cc/glone/employees/joerg.schilling/private/cdrecord.html>
から行えます。
この他に cdrdao というプログラムもあるようです。
なお、FreeBSD 3.*-RELEASE 以前に含まれている worm ドライバで
使えるドライブは、
Phillips CDD 522
PLASMON RF4100
HP 4020i
の3種類です。ただし、上記ドライブを国内で入手するのは非常に困難です。
また、自作の CD-ROM を作成するためには、CD-ROM のファイルシステムを
作成する mkisofs (sysutils/mkisofs) などが必要です。
管理番号 2063 (更新)
更新履歴
Q. セキュリティに関する情報はどうやって入手すればよいですか?
A. セキュリティホールが見付かり次第、問題点と対処法をまとめた「FreeBSD
Security Advisory」が announce-jp@jp.FreeBSD.org に流されます
(announce-jp に流れたメールは、FreeBSD-users-jp@jp.FreeBSD.org 参加者
にも配送されます)。
過去の Advisory は以下のサイトを参照して下さい。
FreeBSD Security Information (英語)
<URL:http://www.FreeBSD.org/security/>
上記ページの日本語訳。
<URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/ja/security/index.html>
ただし和訳作業が必要なため、最新の情報を得たい場合は
本家のページを見ましょう。
また、CERT 関連の情報もチェックしておくとよいでしょう。
CERT Advisory
<URL:http://www.cert.org/advisories/>
CERT Advisory 邦訳版
<URL:http://www.lac.co.jp/security/intelligence/CERT/index.html>
CERT Advisory 迅速和訳計画
<URL:http://www.reasoning.org/jp/cert/>
その他、以下のサイトから情報収集をすることをお勧めします。
セキュリティホール memo。
<URL:http://www.st.ryukoku.ac.jp/~kjm/security/memo/>
セキュリティアンテナ。セキュリティ関連のサイトの更新状況チェック。
<URL:http://www.st.ryukoku.ac.jp/~kjm/security/antenna/>
incidents.org (英語)
<URL:http://www.incidents.org/>
JPCERT/CC レポート (週刊)
<URL:http://www.jpcert.or.jp/wr/>
IPA 脆弱性関連情報 (随時更新)
<URL:http://www.ipa.go.jp/security/news/news.html>
また、以下のメールマガジンを購読するのもよいでしょう。
Scan Security Wire 有料版 (週1回)
Scan Security Wire 無料版 (有料版のダイジェスト)
<URL:http://www.netsecurity.ne.jp/mag/index.html>
Scan Daily Express (有料。月〜金 日刊)
<URL:http://www.vagabond.co.jp/vv/m-sdex.htm>