[Chapter 2] 2.5 Samba デーモンの起動
Date: 1999-11-05T21:29:11Z

| ## Using Samba Robert Eckstein, David Collier-Brown, Peter Kelly 共著 第一版 1999 年 11 月 1-56592-449-5, 注文番号: 4495 416 ページ, 34.95 ドル ハードコピー版(英語)を購入する 目次

| Chapter 2 Unix システムへの Samba のインストール |

> ## 2.5 Sambaデーモンの起動

> Samba には smbd とnmbd の２つのプロセスがあり、Samba が正常に機能するためには共に必要である。 起動するには次の３つの方法がある。

> - 手動で起動

> - 単独デーモンとして起動

> - inetd からの起動

> ### 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 デーモンは、 そこで定義している全てのポートを見張っている。 欠点は、新しいデーモン・プロセスをつくるときに、少々オーバーヘッドが 生ずることと、組み込むには、 １つではなく２つのファイルを編集しなくてはならないことである。

> 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は機能するだろう。

2.4 Samba 設定ファイルの基本 |  | 2.6 Samba デーモンのテスト

O'Reilly Home | O'Reilly Bookstores | How to Order | O'Reilly Contacts
International | About O'Reilly | Affiliated Companies

© 1999, O'Reilly & Associates, Inc.