![]() |
Using SambaRobert Eckstein, David Collier-Brown, Peter Kelly 共著第一版 1999 年 11 月 1-56592-449-5, 注文番号: 4495 416 ページ, 34.95 ドル |
2.5 Sambaデーモンの起動
Samba には smbd とnmbd の2つのプロセスがあり、Samba が正常に機能するためには共に必要である。 起動するには次の3つの方法がある。
2.5.1 手動で起動
もし、急いでいるなら Samba デーモンを手動で起動できる。 root 権限で、次のコマンドを入力するだけである。
#/usr/local/samba/bin/smbd -D
#/usr/local/samba/bin/nmbd -D
この時点で、Samba は稼動し、接続の受け入れ準備ができているだろう。
2.5.2 単独デーモンとして起動
Samba を単独デーモンとして起動するには、前節に記述したコマンドを Unix の標準的なスタートアップ・スクリプトに追加すればよい。 この詳細は、BSD 系 Unix と System V 系 Unix では異なる。
2.5.2.1 BSD 系 Unix
BSD 系 Unixでは、一般に /etc または /etc/rc.d ディレクトリにある rc.local ファイルに、次のコードを追加する必要が ある。
if [ -x /usr/local/samba/bin/smbd]; then echo "Starting smbd..." /usr/local/samba/bin/smbd -D echo "Starting nmbd..." /usr/local/samba/bin/nmbd -D fiこのコードは至って簡素で、システム起動時に、smbd ファイルの存在と実行許可を確認し、それぞれの Samba デーモンを起動する。
2.5.2.2 System V 系 Unix
System V 系はもう少しだけ複雑である。 System V 系では一般に、 システム上のデーモンの起動と停止にはスクリプトを使用する。 その中で、Samba に起動時と停止時の操作手順を指示する必要がある。 次のような内容の smb というファイルを追加して、 /etc/rc.local ディレクトリの構成を更新する。
#!/bin/sh # Contains the "killproc" function on Red Hat Linux ./etc/rc.d/init.d/functions PATH="/usr/local/samba/bin:$PATH" case $1 in 'start') echo "Starting smbd..." smbd -D echo "Starting nmbd..." nmbd -D ;; 'stop') echo "Stopping smbd and nmbd..." killproc smbd killproc nmbd rm -f /usr/local/samba/var/locks/smbd.pid rm -f /usr/local/samba/var/locks/nmbd.pid ;; *) echo "usage: smb {start|stop}" ;; esacこのスクリプトを用いると、 次のコマンドで SMB サービスを起動あるいは停止できる。
# /etc/rc.local/smb start Starting smbd... Starting nmbd... # /etc/rc.local/smb stop Stopping smbd and nmbd...2.5.3 inetd からの起動
この inetd デーモンは、 Unix システムのインターネット "スーパー・デーモン" である。それは、 /etc/servicesで定義している TCP ポートを見張り、 それぞれのポートで、/etc/inetd.conf で定義しているプログラムを適宜実行する。 この方法の利点は、メモリ上に常駐することなしに、 多くのデーモンを接続待ち状態にできることである。 その代わり、inetd デーモンは、 そこで定義している全てのポートを見張っている。 欠点は、新しいデーモン・プロセスをつくるときに、少々オーバーヘッドが 生ずることと、組み込むには、 1つではなく2つのファイルを編集しなくてはならないことである。
inetd から起動するには、まず /etc/services をテキスト・エディタで開く。 そして、次の 2 行が定義されていなければ追加する。
netbios-ssn 139/tcp netbios-ns 137/udp次に、/etc/inetd.conf を編集する。 次の2行を探し、もし見つからなければ追加する。 このファイルに
smbd
とnmbd
の記述が既にあれば、新しくインストールした smbd と nmbd の場所を示すように編集する。 使用しているUnixの種類により、このファイルの文法は微妙に異なるので、 inetd.conf の マニュアル・ページ を参照しながら、 既存のエントリを流用することを勧める。netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd最後に、全てのsmbd と nmbd プロセスを kill し、 inetd プロセスにハングアップ・シグナル (HUP) を送る。( HUP シグナルを送ることで、inetd デーモンは、自身の設定ファイルを再度読み込む。) これを行うには、まず
ps
コマンドを用いて そのプロセス ID を探し、次のコマンドでプロセスにシグナルを送る。#kill -HUP process_id
その後、Sambaは機能するだろう。
© 1999, O'Reilly & Associates, Inc.