Macintosh LC630 第2の人生 「CATV用家庭内サーバー」大作戦
5.MacBSDの設定 [目次へ] |
ここでは、必要な設定をします。
いよいよブート [目次へ] |
Booter1.11.3のフォルダーの中のBSD/Mac68k Booterをダブルクリックして起動します。
Options->Booting...を選択し
Root SCSI ID:[4]←外部HDDのSCSI番号にし、OKを押します。
Options->Startupを選択し
[×]Auto boot on startup
Time before booting [0] sec.
として、OKを押します。
File->Save Optionsで設定を保存します。
Options->Boot Nowを選択すると、しばらくすると画面が変わって、MacBSDが起動します。
ずらずらと表示される途中で
ae0:Ethernet address 00:40:10:**:**
と表示されれば、ネットワークカードも認識されています。
Enter pathname of shell or RETURN for sh:
と表示されたら、「return」キーを押します。以下 [return] は「return」キーを表します。
Terminal type?
と表示されたら、「vt220」を入力します。
Don't login as root, use the su command.
#■
となります。
#ls [return]
としてファイルが表示されていれば、インストールは成功です。
終了するときは、
#halt [return] または(shutdown -h now [return]) などとし、
Please press any key to reboot
のメッセージが出たら、LC630の場合は、後ろの右の方にあるリセットボタンを押すと電源が切れます。
リブートするときは、reboot です。
早速リブートしてみましょう。
#reboot [return]
とすると再起動をはじめ、MacOSが起動します。
再びMacBSDを起動するには、
Booter1.11.3のフォルダーの中のBSD/Mac68k Booterをダブルクリックして起動します。
・Macの起動時にMacBSDを自動的に立ち上げたいときは、LC630のCD-ROM(KT7.1.x)を使って、外部HDDのMacのパーティションに「MacOSのシステム」をインストールし、そのシステムフォルダーの起動項目フォルダーに、Booter1.11.3のフォルダーの中のBSD/Mac68k Booterのエイリアスを入れておきます。この場合で起動時に中断したい場合は、MacBSDに切り替わる前にコマンドキー押しながらQキーを押すと、BSD/Mac68k Booterが終了しMacOSのファインダーになります。
BSDの設定 [目次へ] |
■シングルユーザーモードをマルチユーザーモードへ
Booter1.11.1のフォルダーの中のBSD/Mac68k Booterをダブルクリックして起動します。
#vi /etc/rc.conf [return]
rc_configured = NO → YESにする |
viの簡易マニュアル
←↓↑→
HJKL でカーソルを動かします。(コマンドモード時のみ)
文字入力モード A
終了したら ESC でコマンドモードへ
1行削除 DD
1文字削除 X
保存終了 SHIFT+ZZ
強制終了 :(SHIFT+;)を押した後画面下に:が表示されます。そしてq! [return]
「:」は「け」のキーでなくて「SHIFT+れ」になります。キーボードによって配列が変らしいです。
Viの使い方の詳細は省略します。
[J]でカーソルを下げる
[L]でカーソルを右に動かして、NOのNにカーソルを合わせます。
[X][X]で削除して、[A]で追加モードにします。
[YES]を入力を入力して[ESCキー]を押します。
[SHIFTキー]を押しながら、[Z][Z]と2回押して保存します。
#reboot [return] でリブートします。
■パスワードの設定
Booter1.11.3のフォルダーの中のBSD/Mac68k Booterをダブルクリックして起動します。
login: と表示されたら、root [return]と入力します。
Terminal type? [vt220] と表示されたら、[return]を押します。
#
が表示されたら
#passwd [return]
New password:****** [return] (******は任意の文字)
Retype new password:****** [return] (******は任意の文字)
これでrootのパスワードが設定できました。絶対忘れないようにしましょう。
今度からrootでログインするときにパスワードが必要になります。
セキュリティのためこのパスワードは必ず設定しましょう。
■タイムゾーンの設定
#cd /etc [return]
#date [return] で確認します。
Sun May 23 14:35:24 PDT 1999 などと表示されます。
#mv localtime localtime.old [return]
#ln -s /usr/share/zoneinfo/Asia/Tokyo localtime [return]
#date [return] で確認します。
Sat May 24 06:37:40 JST 1999 のように表示されればOKです。
■ユーザー登録をする
#vipw [return]
最後の行に、カーソルを[J][L]で合わせて、[A]を押して追加モードにし、[return]を押します。
ユーザー名がatsuro,test01,test02の場合は
atsuro::1001:1001::0:0:Atsuro Sato:/home/atsuro:/bin/csh
test01::1002:1001::0:0:test01 Sato:/home/test01:/bin/nologin
test02::1003:1001::0:0:test02 Sato:/home/test02:/bin/nologin
test01,02のユーザーには、telnet接続を許可しない場合は、/bin/cshを/bin/nologinにしておきます。
を最後の行に追加します。JISキーでは、「:」は「SHIFT+;」になります。
[ESCキー]を押して編集モードを解除します。
[SHIFTキー]を押しながら[Z][Z]と2回押して保存します。
#passwd atsuro [return]
New password:****** [return] (******は任意の文字)
Retype new password:****** [return] (******は任意の文字)
このようにパスワードを設定する
一度ログアウトして、登録したユーザー名ごとでログインしてパスワードを設定してもよい。
#exit [return]
login:atsuro [return]
#passwd [return]
New password:****** [return] (******は任意の文字)
Retype new password:****** [return] (******は任意の文字)
パスワードに、;:]@[-^\などの記号を使う場合は、事前にそのキーを押して正しい文字が表示されるかを確認した方が良いでしょう。私は記号を使っていましたが、どうしてもtelnetやftpが使えずに、数日悩みました。原因は、「+」のつもりで「れ」のキーをshiftを押しながら押していましたが、実はこれは、「+」でなくて「:」の意味になっていました。passwordの入力時は、何も表示されないので、そんなことには全く気づきませんでした。
■atsuroユーザーをsuでスーパーユーザーになれるようにする
#vi /etc/group [return]
wheel:*:0:root,atsuro 最初の行をこのようにする
users:*:1001:atsuro,test01,test02 最後の行をこのようにする
ESCを押した後、SHIFT+ZZでviを保存終了する。
■ユーザーatsuroのホームページディレクトリーを作成する
#mkdir /home/atsuro [return]
#cp /root/.* /home/atsuro [return] (not copiedのメッセージはOK)
#chown atsuro /home/atsuro [return]
#chown atsuro /home/atsuro/.* [return]
複数のユーザーを登録する場合は、atsuroの部分をユーザー名に変えて同様に行って下さい。
■IPアドレスの設定
REUDO イーサーカードLC/T(RE-ETLC/T)は、ae0で認識されますので次のように設定します。
他のネットワークカードの場合は、ブート時にぱらぱら表示される文字の中でネットワークカードがどのようなデバイス名で認識されているのか注意深く観察して下さい。
#ifconfig -a [return] で確認できます。
#vi /etc/ifconfig.ae0 [return] で次の一行を入力します。
inet lc630 netmask 255.255.255.0 |
lc630はホスト名です
■hostsファイルの設定
#vi /etc/hosts [return]
127.0.0.1 localhost.catv123.ne.jp localhost # 192.168.1.7 lc630.catv123.ne.jp lc630 |
DHCPサーバーからアドレスをもらう場合も、ここで一応、プライベートアドレスをつけておきます。後で、DHCPサーバーからIPアドレスをもらう設定をします。
■resolv.confの設定
#vi /etc/resolv.conf [return]
search catv123.ne.jp nameserver 210.ddd.nnn.sss |
■rc.confでhostname等の設定
#vi /etc/rc.conf [return]
hostname="lc630" dhclient=YES |
下の2行は、IPアドレスをcatv123のdhcpから受け取る場合に設定します。ローカルで勝手にアドレスを指定する場合は不要です。これによって、前に設定した、プライベートのIPアドレスが書き換えられます。
・rebootしてネットワークカードが使えるか確認しますので、LC630のEtherケーブルを接続してください。
#reboot [return]
#ifconfig -a [return] で
lc630# ifconfig -a
ae0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST>
mtu 1500
address: 00:40:10:0b:d6:e3
media: Ethernet manual
inet 210.rrr.uuu.abc netmask 0xffffff00 broadcast 210.rrr.uuu.ttt
lo0: flags=8009<UP,LOOPBACK,MULTICAST> mtu 32976
inet 127.0.0.1 netmask 0xff000000
ppp0: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
ppp1: flags=8010<POINTOPOINT,MULTICAST> mtu 1500
sl0: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296
sl1: flags=c010<POINTOPOINT,LINK2,MULTICAST> mtu 296
tun0: flags=10<POINTOPOINT> mtu 1500
tun1: flags=10<POINTOPOINT> mtu 1500
eon0: flags=3<UP,BROADCAST> mtu 1500
のように表示されます。
#ping 210.rrr.uuu.ttt で
lc630# ping 210.rrr.uuu.ttt
PING 210.rrr.uuu.ttt (210.rrr.uuu.ttt): 56 data bytes
64 bytes from 210.rrr.uuu.ttt: icmp_seq=0 ttl=64 time=25.841 ms
64 bytes from 210.rrr.uuu.ttt: icmp_seq=1 ttl=64 time=23.755 ms
64 bytes from 210.rrr.uuu.ttt: icmp_seq=2 ttl=64 time=21.859 ms
64 bytes from 210.rrr.uuu.ttt: icmp_seq=3 ttl=64 time=22.976 ms
ずっと、続きますので、controlキーを押しながらCを押して停止します。
■telnetの設定
ある程度設定したら、後はtelnetで操作したほうが便利だと思います。
このマニュアル通りに設定していれば、telnet出来るはずです。ただし、rootでは、telnetできません。ユーザーでtelnetとしてsuでrootになってください。
Windowsからは、スタート→ファイル名を指定して実行→telnet 210.rrr.uuu.abc でtelnet出来ます。
Macintoshからは、NCSA telnetというソフトを使うとtelnetできます。
passward入力時の記号文字は、テンキーを使わないように気をつけてください。また、漢字変換OFFの状態の方が良いです。
NetBSD/mac68k (lc630) (ttyp0) login: root NetBSD 1.4 (GENERIC) #0: Sat May 8 20:54:59 PDT 1999 Welcome to NetBSD! Terminal type? [vt100] Don't login as root, use the su command. |
セキュリティー上の都合で、あるユーザーにtelnetを許可したくない場合は、「■ユーザー登録をする」で説明しましたが、
#vipw [return]
atsuro::1001:1001::0:0:Atsuro Sato:/home/atsuro:/bin/csh
test01::1002:1001::0:0:test01 Sato:/home/test01:/bin/nologin
test02::1003:1001::0:0:test02 Sato:/home/test02:/bin/nologin
test01,02のユーザーには、telnet接続を許可しない場合は、/bin/cshを/bin/nologinにしておきます。
あと注意点として、前にも書きましたが、パスワードに、;:]@[-^\などの記号を使う場合は、事前にそのキーを押して正しい文字が表示されるかを確認した方が良いでしょう。私は記号を使っていましたが、どうしてもtelnetやftpが使えずに、数日悩みました。原因は、「+」のつもりで「れ」のキーをshiftを押しながら押していましたが、実はこれは、「+」でなくて「:」の意味になっていました。passwordの入力時は、何も表示されないので、そんなことには全く気づきませんでした。
■FTPの設定
ソフトのインストールするときは、外部の端末からFTPした方が便利ですので、FTP出来るように設定します。
「←」以下の文字は入力しないこと。
・FTPできるユーザーの制限
#vi /etc/ftpusrs
# $NetBSD: ftpusers,v 1.4 1997/09/08 02:51:58
mikel Exp $ # # list of users denied (or allowed) ftp access # read by ftpd(8). #root deny ←#をつけて一時的にrootでftp出来るようにしておく toor deny uucp deny * allow |
ソフトをインストールしやすくするために、rootでftp出来るようにしておきます。
インストールが終わったら、下記のように適宜設定する。
# $NetBSD: ftpusers,v 1.4 1997/09/08 02:51:58
mikel Exp $ # # list of users denied (or allowed) ftp access # read by ftpd(8). root deny toor deny uucp deny * deny ←誰もがFTPできるのをやめる場合はこれを設定する atsuro allow ←FTPを許可したいユーザーをこのように設定する test01 allow ←ここにないユーザーはFTPを許可されない |
・ユーザーことのFTPのディレクトリー制限
セキュリティー上、ユーザーにホストの全部のディレクトリーを見られるのは問題なので、ユーザーそれぞれのディレクトリーしか見られないようにロックします。
#vi /etc/ftpchroot
atsuro
test01
tets02
....
ロックしたいユーザー名をいれる
これだけでは、lsでディレクトリーがみれないので
mkdir /home/atsuro/bin
cp /bin/ls /home/atsuro/bin/
chmod 111 /home/atsuro/bin
chmod 111 /home/atsuro/bin/ls
のように設定する
・FTP出来ないユーザーの設定
セキュリティー上の都合で、あるユーザーにtelnetを許可したくない場合は、「■ユーザー登録をする」で説明しましたが、
#vipw で
atsuro::1001:1001::0:0:Atsuro Sato:/home/atsuro:/bin/csh
test01::1002:1001::0:0:test01 Sato:/home/test01:/bin/nologin
test02::1003:1001::0:0:test02 Sato:/home/test02:/bin/nologin
test01,02のユーザーには、telnet接続を許可しない場合は、/bin/cshを/bin/nologinにしておきます。
この場合に、/bin/nologinに設定したユーザーは、telnetはもちろん出来ませんが、下記のようにshellsにnologinの設定がないとFTPも出来なくなります。
#vi /etc/shells [return]
# $NetBSD: shells,v 1.3 1996/12/29 03:23:07 mrg Exp $ /bin/sh |
■sendmailの設定
perlのCGIなどでsendmailを使わない場合は、設定しなくてもかまいません。
#vi /etc/rc.conf [return]
sendmail=YES sendmail_flags="-bd -q30m" |
sendmail=NO → YESに変える
/etc/aliases.dbがないためsendmailのエラーメッセージが出るので、
# ls /etc/al* [return] でaliases.dbがあるか確認
/etc/aliases ←aliases.dbはない
なければ、
#newaliases [return]
とするとエラーメッセージが出なくなります。
# ls /etc/al* [return] でaliases.dbがあるか確認
/etc/aliases /etc/aliases.db ←出来ている
CATVのサーバーによっては、sendmail.cfを変更しないといけない場合があります。そのような時は、sendmail.cfは、難しくて直接変更できないので、CF-3.7Wpre7.tar.gzなどのcfを作るソフトを利用して下さい。
詳しくは、http://www.katch.ne.jp/~atsuro/freebsd/ を参考にして下さい。
CGIからsendmailを利用してメールを送信する場合は、相手のメールサーバーによっては、逆引きできないサーバーからのメールは受け付けないサーバーもありますので、そのようなサーバーの場合宛てのメールは、送信することができません。
・subjectが文字化けする場合
sendmailを利用したときに、subjectが文字化けする場合があります。そのような時は、nkfをnkfのインストールすると便利です。
■root宛のメールを転送
MacBSDは、レポートをroot宛に転送しますが、そのメールを普段使っている自分のメールアカウントに転送すると便利です。
#vi /root/.forward [return]
atsuro@catv123.ne.jp |
のように、転送したいアドレスを記載します。
テストしてみましょう
#mail root [return]
Subject: test mail [return]
Hello This is test mail. [return]
. [return]
sendmail[459]:gethostbyaddr(210.rrr.uuu.abc) failed:1 と表示されますが、、、
Charlie Root <root@lc630.catv123.ne.jp> から、先ほどのHelloメールが転送したいアドレスに届いているはずです。
ただし、同じドメイン内しか届かないかもしれません。逆引き出来ないサーバーからのメールは受け取らないsmtpサーバーがあるため、プロバイダーによっては、この方法では転送できない場合があります。
つぎは、いろいろなソフトのインストールへ進んでください。