Using Samba

Using Samba

Robert Eckstein, David Collier-Brown, Peter Kelly 共著
第一版 1999 年 11 月
1-56592-449-5, 注文番号: 4495
416 ページ, 34.95 ドル

ハードコピー版(英語)を購入する

目次


Previous: 2.4 Samba 設定ファイルの基本 Chapter 2
Unix システムへの Samba のインストール
Next: 2.6 Samba デーモンのテスト
 

2.5 Sambaデーモンの起動

Samba には smbdnmbd の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行を探し、もし見つからなければ追加する。 このファイルに smbdnmbd の記述が既にあれば、新しくインストールした smbdnmbd の場所を示すように編集する。 使用している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

最後に、全てのsmbdnmbd プロセスを kill し、 inetd プロセスにハングアップ・シグナル (HUP) を送る。( HUP シグナルを送ることで、inetd デーモンは、自身の設定ファイルを再度読み込む。) これを行うには、まず ps コマンドを用いて そのプロセス ID を探し、次のコマンドでプロセスにシグナルを送る。

# kill -HUP process_id

その後、Sambaは機能するだろう。


Previous: 2.4 Samba 設定ファイルの基本 目次 Next: 2.6 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.