[Appendix D] Sambaデーモンとシステムコマンドの要約

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

| Appendix D |

> # D. Sambaデーモンとシステムコマンドの要約

> この付録は、コマンドラインのオプションとSambaを実行するうえで助けになるだろう、その他の情報の一覧したリファレンスである。

> ## Sambaシステムに含まれるプログラム群

> 以下のセクションでは、Samba プログラムのコマンドラインパラメータについての情報を提供する。

> ### smbd

> smbd プログラムはSambaのファイルとプリントサービスを提供する。その際、1クライアントにつき1つのTCP/IPストリームとデーモンを使用する。smbdプログラムは、デフォルトの設定ファイルにあたるsamba_dir/lib/smb.confよりコントロールされる。ただし、コマンドラインオプションにより無効にすることも可能である。

> 設定ファイルは、自動的に毎分ごとに再評価される。設定が変更されていれば、すぐに新しく設定されたオプションが有効になる。Sambaが設定ファイルをすぐに再読込みするようにすることが出来る。そのためには smbdにSIGHUPを送ればよい。しかしながら、設定ファイルを再読込みしても既に接続されているクライアントでは有効にならない。設定変更前("grandfather")の設定を無効にして、設定変更後の設定を有効にするには、クライアントは接続を切断し再接続する必要がある。もしくはサーバ自身が再始動しなければならない。これによりすべてのクライアントが再接続される。

> #### Other signals

> smbdプロセスを終了するためには、終了シグナルであるSIGTERM(-15)を送信すれば良い。このシグナルによりSIGKILL(-9)を用いることなく、すみやかに終了することが可能となる。実行時に smbdのデバッグログレベルを上げることにより、smbdにSIGUSR1シグナルを送信する。実行時にデバッグログレベルを下げることにより、SIGUSR2シグナルがsmbdに送信される。

> #### Command-line options

> #### -D

> - smbd プログラムはデーモンとして実行される。これはsmbdを使用する方法として推奨される(デフォルトの動作である)。さらに smbdはinetdから実行されることも可能である。

> #### -d debuglevel

> - デバッグレベル(ロギングと呼ばれることもある)を指定する。デバッグレベルは0から10までの間で指定可能である。コマンドラインで値を指定することにより、smb.confファイルで指定したデバッグレベルの値が無効にされる。デバッグレベル0では最も重要なメッセージのみログとして記録される。レベル1では通常に、レベル3以降は、主としてデバッグの為に用いられる。ただし、smbdは相当遅くなる。

> #### -h

> - smbdプログラムのコマンドラインの用法に関する情報を表示する。

> #### Testing/debugging options

> #### -a

> - Sambaサーバへ接続毎にログファイルにすべてのロギングメッセージを追加する。このオプションは-oオプションの逆の動作である。デフォルトの動作である

> #### -i scope

> - NetBIOSスコープ識別子が設定される。同じ識別子をもつマシンだけがサーバと通信する。スコープ識別子はワークグループが普及する前に使われていた。このオプションは下位互換性を保つためにのみ存在している。

> #### -l log_file

> - コンパイル時に決定された位置、または smb.confファイルで指定した位置とは別の場所にログメッセージを保存する。デフォルトでは、通常/usr/local/samba/var/log.smb，/usr/samba/var/log.smb, ，/var/log/log.smbである。最初に例示した2箇所の位置は Linuxでは推奨されない。/usrディレクトリは読み取り専用のファイルシステムであるかもしれないからである。

> #### -O socket_options

> - ソケット オプションの構成を行うオプションと同じパラメータを用いてTCP/IPソケットオプションが設定される。パフォーマンス最適化とテストのためにしばしば用いられる。

> #### -o

> - -aオプションと反対の動作を指定する。ログファイルが開かれたときに、これを上書きする。このオプションを使用することにより、テストを繰り返し行っている場合や毎回ログファイルを調べている場合に目的のログ領域を探し出す必要がなくなる。

> #### -P

> - smbd がいかなるネットワークデータも送信しないように設定する。このオプションは、Sambaの開発者のみの間で概して使用される。

> #### -P

> - smbdがいかなるネットワークデータも送信しないように設定する。このオプションは、Sambaの開発者のみの間で概して使用される。

> #### -p port_number

> - サーバがリクエストを受諾するTCP/IPポート番号を指定する。現在のところ、すべてのマイクロソフト製OSを搭載したクライアントは、デフォルトのポート: 139のみを使用している。

> #### -s configuration_file

> - Sambaの構成ファイルの場所を指定する。デフォルトでは/usr/local/samba/lib/smb.confであるが、ここでコマンドラインで指定することにより置き換えることが可能である。一般的にはデバッグの際に用いられる。

> ### nmbd

> The nmbd プログラムは SambaのNetBIOSの名前解決とブラウジングを行うデーモンである。 これにより SMBクライアントからの NetBIOS over TCP/IP(NBT)の名前解決のリクエストを行うブロードキャスト、更には Microsoft's Windows Internet Name Service (WINS)リクエストにも応答が行われる。両サービスともに、SMBクライアントからのリクエストに基づいて名前-アドレスの名前解決を行う。ブロードキャスト方式ではローカルなサブネット上のみで UDP/IPブロードキャストを行う。一方 WINSではルーティング可能な TCP/IPを用いている。WINSサーバを走らせているなら nmbdは、現時点での名前とアドレスの対応関係を保存しているデータベースファイルをsamba_dir/var/locksディレクトリのwins.datに保存している。

> 活動中のnmbd プログラムは Windowsのネットワークコンピュータを使用することにより発生するブラウジングプロトコルのリクエストにも応答することができる。ブラウジングは、広報活動とサービスのアナウンス活動と活動中の状態にあるディレクトリのプロトコルを結びつける。このプロトコルは、サーバが提供する動的なサーバのディレクトリとディスクとプリンタを提供する。同じくWINSでは、最初の段階にローカルサブネット上で UDP/IPのブロードキャストを行うことにより、この作業を行う。現在では、ローカルマスターブラウザの概念によって、サーバにTCP/IPコネクションを生成することにより行われている。nmbdがローカルマスターブラウザとして動作しているなら、ブラウジングデータベースをsamba_dir/var/locksディレクトリにbrowse.datというファイルに保存する。

> #### Signals

> smbdと同様に、nmbdプログラムは、いくつかの Unixシグナルに応答する。nmbdにSIGHUPシグナルを送信することにより、nmbdが知っている名前をsamba_dir /locksディレクトリのnamelist.debugというファイルにダンプする。またブラウジングのデータベースを同じディレクトリにあるbrowse.dat というファイルにダンプする。 nmbdプロセスをシャットダウンするには、SIGTERM(-15)シグナルを問題なくnmbdプロセスが死ぬようにするために SIGKILL(-9)の代わりにnmbdに送信する。 SIGUSR1シグナルをnmbdに送信することにより、nmbdのデバッグロギングレベルを増加させることができる。同様に SIGUSR2シグナルを送信することによりデバッグロギングレベルを減らすことが可能である。

> #### Command-line options

> #### -D

> - nmbdプログラムがデーモンとして動作するように宣言する。nmbdを使用する際に推奨される使用方法である。さらに加えて nmbdはinetdから動作させることも可能である。

> #### -d debuglevel

> - デバッグ(ロギングと呼ばれることもある)レベルを設定する。デバッグレベルには0から10までの任意の値を設定できる。コマンドラインで指定した値によりsmb.confファイルで指定した値を置き換えることができる。デバッグレベル0では、最も重要なメッセージのみログに記録する。レベル1では通常の記録を行う。レベル3とそれ以上の値を設定するのは、主にデバッグのために行われる。さらには、顕著にnmbdの動作が遅くなる。

> #### -h

> - nmbdプログラムについてのコマンドラインでの用法に関する情報を表示する(-?で同様の情報が得られる)

> #### テスト/デバッグ オプション

> #### -a

> - このオプションが設定されると、ログファイルにすべてのログメッセージがSambaサーバに接続が行われるたびに追加される。このオプションは-oオプションの逆の動作を行い、デフォルトでは指定される。

> #### -H hosts_ file

> - このオプションを指定することにより、名前解決のために標準のhostsファイルがロードされる。

> #### -i scope

> - NetBIOS識別子を設定する。同じ識別子をもつマシンのみサーバと通信するだろう。スコープ識別子はワークグループが一般的になる前に使われていたものである。このオプションは下位互換性ためにのみ残されている。

> #### -l log_file

> - smb.confファイルまたは、あらかじめコンパイルされた場所以外の場所にログメッセージを保存する。デフォルトでは/usr/local/samba/var/log.nmb, /usr/samba/var/log.nmb, または/var/log/log.nmbが多くの場合に指定される。Linuxでは最初の二箇所に設定する事は*強く*推奨されていない。/usrは読み取り専用のファイルシステムであるかもしれないからである。

> #### -n NetBIOS_name

> - このオプションを設定することにより、デーモンにより通知される自身のNetBIOS名を置換できる。コマンドラインでオプションを指定することによりSamba構成ファイルで指定したnetbios nameを置換出来る。

> #### -O socket_options

> - このオプションにより、socket options構成オプションと同じパラメータを使用してTCP/IPsocket オプションが設定できる。パフォーマンスのチューニングとテストのために使用されることが多い。

> #### -o

> - このオプションは-aの逆の動作を行う。このオプションを指定することによりログファイルが上書きされる。これによりテストを行っている場合、毎回ログファイルを検証している場合に冗長なログエントリを追跡する必要がなくなるだろう。

> #### -p port_number

> - これによりサーバがリクエストを受け付けるUDP/IPポートの番号を指定できる。現在のところ、Microsoftクライアントはすべてデフォルトのポートである137番にのみリクエストを送信している。

> #### -s configuration_file

> - Samba構成ファイルのの場所を指定する。/usr/local/samba/lib/smb.confがデフォルトであるが、ここで指定することによりコマンドラインで置換可能である。概してデバッグに使われる。

> #### -v

> - このオプションにより現在使用中のSambaのバージョンが表示される。

> ### Sambaの起動ファイル

> Sambaは通常、システムブート時にUnixシステムのrcスクリプトから起動されて実行される。/etc/rcN.dディレクトリを用いているSystem Vのようなシステムでは/rcディレクトリに適切な名前のスクリプトを配置することによりSambaが起動される。通常、Sambaを実行するスクリプトはS91sambaと呼ばれる。一方、Sambaを停止もしくは殺す("killing")スクリプトはK91samba. と呼ばれる。Linuxでは、スクリプトのために通常、用いられるサブディレクトリは/etc/rc2.d.である。Solarisでは、ディレクトリは/etc/rc3.dである。/etc/rc.localを用いてるマシンでは、通常、rc.localファイルに以下の行を追加すればよい:

> /usr/local/samba/bin/smbd -D

> /usr/local/samba/bin/nmbd -D

> 以下のサンプルのスクリプトでは2つの追加コマンドをサポートしている。通常のSystem Vマシンのためのstartとstopに加えてstatusとrestartである:

>     #!/bin/sh
>     #
>     # /etc/rc2.d./S91Samba  --manage the SMB server in a System V manner
>     #
>     OPTS="-D"
>     #DEBUG=-d3
>     PS="ps  ax"
>     SAMBA_DIR=/usr/local/samba
>     case "$1" in
>     'start')
>     	echo "samba "
>     	$SAMBA_DIR/bin/smbd $OPTS $DEBUG
>     	$SAMBA_DIR/bin/nmbd $OPTS $DEBUG
>     	;;
>     'stop')
>     	echo "Stopping samba"
>     	$PS | awk '/usr.local.samba.bin/ { print $1}' |\
>     	xargs kill
>     	;;
>     'status')
>     	x=`$PS | grep -v grep | grep '$SAMBA_DIR/bin'`
>     	if [ ! "$x" ]; then
>     		echo "No samba processes running"
>     	else
>     		echo "  PID TT STAT  TIME COMMAND"
>     		echo "$x"
>     	fi
>     	;;
>     'restart')
>     	/etc/rc2.d/S91samba stop
>     	/etc/rc2.d/S91samba start
>     	/etc/rc2.d/S91samba status
>     	;;
>     *)
>     	echo "$0: Usage error -- you must say $0 start, stop, status or restart."
>     	;;
>     esac
>     exit

> 実際に運用しているマシンのパス名を設定する必要があり、また psコマンドオプションを使用しているマシンに適するように設定する必要がある。さらに必要に応じて Sambaのsmb.confを再読込や nmbdテーブルをダンプと云った追加のコマンドを加えることももちろん構いません。

> ### smbsh

> smbshプログラムにより、リモート側のWindows共有を、Sambaサーバ上でその共有があたかも標準のUnixディレクトリであるかのように使用出来るようになる。このコマンドが実行されることにより、/smb以下に追加のディレクトリツリーが提供される。/smb以下のサブディレクトリはサーバ上にある。サーバ上のサブディレクトリは、個々のディスクとプリンタ共有である。smbshにより実行されるコマンドは /smbファイルシステムをあたかも、それがUnixローカルの資源のように扱うことが出来る。このことは NFSファイルシステムを用いてマウントする方法でWindowsファイルシステムをマウントするのにカーネルでsmbmountする必要がなくなったことを意味する。であるがsmbshを可能にするには--with-smbwrappersオプションをつけてSambaをconfigureする必要がある。

> #### Options

> #### -d debuglevel

> - デバッグ(ロギングと呼ばれることもある)レベルを設定する。このレベルは0(デフォルト値)から10までの間の任意の値を設定できる。デバッグレベル0では最も重要なメッセージのみログが記録される。レベル1は通常のログの記録である。レベル3とそれより大きな値を設定はデバッグのために主として用いられる。ただし顕著にsmbshの動作が遅くなる。

> #### -l logfile

> - 使用するログファイル名を設定する。

> #### -P prefix

> - SMBファイルシステムをマウントするルートディレクトリを設定する。デフォルトでは/smbが指定される。

> #### -R resolve order

> - ネームサーバの名前解決順序をを設定する。このオプションはresolve orderコンフィギュレーションオプションに似ている。4つのパラメータから任意の値を任意の順序で選択できる。値の一覧は、lmhosts, host, wins, and bcastである

> #### -U user

> - user%passwordをサポートする。

> #### -W workgroup

> - クライアントが接続するNetBIOSワークグループを設定する。

> ### smbclient

> smbclientプログラムはSambaシステムにサービスするものである。最初はテスト用のツールとして意図されたが、その後、完全なコマンドラインベースのUnixクライアントになった。FTPライクな対話形式のクライアントである。オプションのうちいくつかは、いまだにテストとチューニング用に使われている。さらにこのシンプルなツールによってSambaがサーバ上で動作しているか確認できるようになっている。

> 複数のプログラムを集めたシステムとしてsmbclientを理解すると良いだろう:

> - FTPライクな対話形式のファイル転送プログラム
> - 対話形式の印刷プログラム
> - 対話形式のtarプログラム
> - コマンドラインのメッセージプログラム
> - コマンドラインtar プログラム(後述のsmbtarを参照して欲しい)
> - "どんなサービスを提供しているか" 問い合わせるプログラム
> - コマンドラインのデバッグ用プログラム

> #### 一般的なコマンドラインオプション

> smbclientプログラムはsmbdライクなオプションの配置形式に従っていて、すべての対話形式のコマンドラインのオプションの用法に適用される。記述形式は次のようになっている:

> smbclient //server_name /share_name [password ] [-options ]

> コマンドラインのオプションのそれぞれの説明は次のようになっている:

> #### -d debug_level

> - デバッグ(ロギング)レベルを設定する。0から10までの任意の値が可能である。smb.confで設定した値より優先する。デバッグレベル 0では、最も重要なメッセージのみのログを記録する; レベル 1では通常である。レベル 3とそれ以上はデバッグに用いられる。ただし、smbclientが顕著に遅くなる。

> #### -h

> - smbclientのためのコマンドラインのへルプ情報(用法)を表示する。

> #### -n NetBIOS_name

> このオプションを指定すると、smbclientプログラムが自身をブロードキャストするNetBIOS名を上書きすることが出来る。

> #### Smbclientプログラムの動作

> smbclient//server_name/shareを実行することにより、ユーザ名とパスワード認証のプロンプトが表示される。ログインが成功すると共有に接続が行われて、FTPプロンプトとほとんど同じようにプロンプトが表示される。(プロンプトの中にあるバックスラッシュは、移動先のファイルシステムの共有の中のカレントディレクトリに置換される):

> smb:\>

> このコマンドラインから、以下に示すいくつかのFTPライクなコマンドを使用できる。四角括弧で括られたところは任意の選択可能である。

> ####

> #### smbclientで使用可能なコマンド

> コマンド | 記述
> --- | ---
> ? command | コマンドの一覧と特定のコマンドのへルプを表示する。
> help [command] | コマンドの一覧と特定のコマンドのへルプを表示する。
> ! [command] | 四角括弧の中のコマンドは、ローカルなシェルで動作する。でなければ、クライアントのローカルなシェルに移動するだろう。
> dir [filename] | サーバ上のカレントディレクトリの中にあるfilenameに合致するすべてのファイルを表示する。filenameが省略されるとすべてのファイルが表示される。
> ls [filename] | サーバ上のカレントディレクトリの中にあるfilenameに合致するすべてのファイルを表示する。filenameが省略されるとすべてのファイルが表示される。
> cd [directory] | リモートサーバ上の指定されたdirectoryに移動する。さもなければリモートマシンのカレントディレクトリを表示する。
> lcd [directory] | ローカルマシンのカレントディレクトリが指定されたdirectoryに移動する。でなければ、ローカルマシンのカレントディレクトリのパス名が表示される。
> get remotefile [localfile] | ローカルマシンにremotefileをコピーする。localfileを指定するとコピー先の名前にその名前を使用する。ファイルをバイナリとして取り扱うのでLFからCR/LFへの変換は行われない
> put localfile [remotefile] | localfileをリモートマシンにコピーする。remotefileが指定された場合は、そのファイル名がリモートサーバへのコピー先の名前として使用される。ファイルをバイナリとして扱うのでLFからCR/LFへの変換は行われない
> mget pattern | リモートサーバからpatternに合致したファイルをすべて取得してくる。
> mput pattern | リモートマシン上にあるpatternに合致したローカルファイルをすべてリモートサーバに転送する。
> prompt | mgetとmputコマンドを対話式に動作させるかどうか制御する。
> lowercase ON (or OFF) | lowercaseがオンに設定されるとsmbclientはmgetやgetを実行する際にファイル名を小文字に変換するだろう(mputやputではそうならない)。
> del filename | リモートマシンの指定されたファイルを消去する。
> md directory | リモートマシンにディレクトリを作成する。
> mkdir directory | リモートマシンにディレクトリを作成する。
> rd directory | リモートマシンの指定されたディレクトリを削除する。
> rmdir directory | リモートマシンの指定されたディレクトリを削除する。
> setmode filename [+|-]rsha | DOSファイルシステムの属性ビットをUNIXライクなモードビットを用いて設定する。 r は読み取り専用, s はシステム, h は隠しファイル,a はアーカイブ
> exit | smbclientを終了する。
> quit | smbclientを終了する。

> 大量のコピーを行うためにマスキングと再帰処理を行うためのコマンドも存在する; smbclientマニュアルページにこれらを使うための詳細な方法が解説されているので参照されたい。マスキングと再帰処理とASCII転送モードがないことを除いて、smbclientはFTPとほぼ同様な働きをすることが出来る。バイナリ転送を行うのでUNIXにコピーされたWindowsファイルはUNIXのラインフィールド(\n)でなくキャリッジリターンとラインフィールド(\r\n)で終わる行になることに注意して欲しい。

> #### 印刷用コマンド

> smbclient プログラムは共有されたプリンタに接続することによって、プリンタにアクセスすることも可能である。一旦接続を行うと、以下に示すような印刷のためのコマンドが使用出来る。

> ####

> #### smbclientの印刷用コマンド

> コマンド | 記述
> --- | ---
> print filename | ローカルマシンからリモートのファイルにファイルをコピーすることによってファイルを印刷する。そして、リモート側で印刷ジョブとして送信する。
> printmode text | graphics | 送信しようとするファイルがテキストのみ(ASCII)であるかプリンタで制御されるバイナリ形式のグラフィックスフォーマットであるかサーバに指示する。ファイルが確にその通りの種類のものであるか確実に行う必要がる。
> queue | 接続しているプリンタ共有のキューのジョブID、名前、サイズ、スタータスを表示する。

> #### 終りにあたって smbclientから印刷を行うには-cオプションを使用することを申し上げて置く:

> cat printfile | smbclient //server /printer_name -c "print -"

> #### Tarコマンド

> smbclient は共有されているファイルをtarでまとめ上げることが出来る。これは通常、コマンドラインからsmbtarコマンドを使用することで行われる。であるが以下に示すコマンドによって対話形式で行うことが出来る。

> ####

> #### smbclientのTarコマンド

> コマンド | 記述
> --- | ---
> tar c|x[IXbgNa] operands | tarと同様にtarファイルの作成と抽出を行うコマンドラインのプログラム。
> blocksize size | tarで使用されるブロックサイズを設定する。ブロックのバイト数は512バイト以内である。
> tarmode full|inc|reset| noreset | tarを行う際に、以下のコマンド全てで、DOSのアーカイブ属性が有効に機能するようにする。fullモード(デフォルト)では、すべてのファイルがtarによってバックアップされる。inc モード (増分モード)では、 アーカイブ属性のビットがセットされているファイルのみtarによりバックアップされる。resetモードでは、バックアップを行ったすべてのファイルのアーカイブ属性のビットがtarによりリセットされる(この際、共有において書き込み権限が必要である)。更にnoresetモードではアーカイブ属性のビットは、ファイルがバックアップされた後でもリセットされない。

> #### コマンドラインのメッセージプログラム・オプション一覧

> #### -M NetBIOS_machine_name

> - このオプションにより、他のコンピュータにリアルタイムのメッセージをWinPopupプロトコルを使用して送ることが出来る。接続が一旦確立するとメッセージをタイプすることが出来、コントロールを押しながらDをタイプすることにより終了する。WinPopupがメッセージの受け手のマシンで動作していない場合には、プログラムはエラーを返す。

> #### -U user

> - この オプションによりメッセージのFROM部分を書き換えることが出来る。

> #### コマンドラインのtarプログラムのオプション一覧

> -T (tar), -D (開始ディレクトリ), and -c (コマンド)オプションにより対話式にファイルをtarでまとめ上げる際に使用される。後で手短に後述されるsmbtarを使用して行った方がよい。tarプログラムをsmbclientから直接使用することを推奨しない。

> #### -D initial_directory

> - 開始する前にinitial_directoryに移動する。

> #### -c command_string

> - smbclientのコマンドインタプリタにコマンド文字列を送る。コマンドインタプリタは、コマンド文字列を実行する際にセミコロンで区切られたリスト形式として取り扱う。例えばtarmode incのような場合、アーカイブ属性のビットがセットされてるファイルのみバックアップするようにsmbclient-Tを実行させることが出来る。

> #### -T command filename

> - tarドライバを実行する。 gtarと互換性がある。主要な二つのコマンドは: c(作成)とx(解凍)である。これらは今後、すべての場合に適用される:

> #### a

> ファイルが保存された後にアーカイブ属性をリセットする。

> ##### b size

> ブロックサイズをユニットあたり512バイト以内で設定する。

> #### g

> アーカイブ属性のビットがセットされているファイルのみバックアップする。

> ##### I file

> ファイルとディレクトリが含まれる(デフォルトである)。パターン合致を行わない。

> ##### N filename

> filename.より新しい日付のファイルのみバックアップする。

> #### q

> 作成する際に検査を行わない。

> ##### X file

> fileを含めない。

> #### コマンドラインの問い合わせプログラム

> smbclient が以下のように動作する場合:

> smbclient -L server_name

> マシンが提供する共有とその他のサービスの一覧を表示する。smbwrappersを付けてコンパイルしなかった場合、プログラム自身でテストプログラムとして役に立つだろう。

> #### コマンドラインのデバッグ用/診断用プログラムオプション

> 様々なsmbclientの動作モードで、デバッグ用とテスト用のコマンドラインオプションが使用可能である:

> #### -B IP_addr

> - ブロードキャストアドレスを設定する。

> #### -d debug_level

> - デバッグ(ロギングとも呼ばれる)レベルを設定する。0から10までの任意のレベルが設定可能である。デバッグオプションとして一つの値をを指定出来る。デバッグレベル0では最も重要なメッセージのみをログに記録する。レベル1は通常である。レベル3とそれ以上の値は、主にデバッグ用に用いられる。その場合には顕著に動作が遅くなる。

> #### -E

> - 標準出力の代わりに標準エラー出力にすべてのメッセージを送信する。

> #### -I IP_address

> - 接続をする先のサーバのIPアドレスを設定する。

> #### -i scope

> - NetBIOSのスコープ識別子を設定する。同じ識別子を持ったマシンのみがサーバと通信出来る。スコープ識別子はワークグループより以前に使用されていたもので、このオプションは下位互換性のためにのみ残されている。

> #### -l log_file

> - ログメッセージを特定のファイルに送信する。

> #### -N

> - パスワードプロンプトの表示を抑止する。コマンドラインからパスワードを指定しない場合や、このパラメータが指定されない場合には、クライアント上でパスワードの入力を促すプロンプトが表示される。

> #### -n NetBIOS_name

> このオプションによりデーモンがサーバ自身を通知しているNetBIOS名を上書き出来る。

> #### -O socket_options

> - socket options設定オプションと同じパラメータの設定方法でTCP/IPソケットオプションを設定する。このオプションはパフォーマンスのチューニングとテスト用に使われることがある。

> #### -p port_number

> - クライアントがリクエストを受諾するポート番号を設定する。

> #### -R resolve_order

> - ネームサーバの名前解決の順序を設定する。このオプションんはresolveorder設定オプションと同様な構成で設定を行う。任意の4つのパラメータの値を任意の順序で設定することが出来る: lmhosts, host, wins,bcastである。

> #### -s configuration_file

> - Samba設定ファイルの配置されたパスを指定する。デバッグ用に使われる。

> #### -t terminal_code

> - アジア言語向けに端末コードを設定する。

> #### -U username

> - ユーザ名と更にオプションとしてパスワードを設定する。(例 -U fred%secret).

> #### -W workgroup

> - クライアントで行うワークグループを指定する。

> 特定のネームサービスをテストする場合にsmbclientを-Rオプションでサービスの名前を指定し実行する。このオプションを指定した場合には、指定したサービスのみがsmbclientで使用される。

> ### smbstatus

> smbstatus プログラムにより、Sambaサーバで現在張られているコネクションの状況を一覧する。3つのセクションに分かれており、まず最初のセクションでは、特定のユーザにより使用されている様々な共有の一覧が表示されている。2つめのセクションではSambaでの共有で現在のところロックされているファイルの一覧が表示されている。最後に3つめのセクションでは、各共有でのメモリーの使用量の合計が表示されている。例えば以下のようになる:

>     # smbstatus

>     Samba version 2.0.3
>     Service      uid      gid      pid     machine
>     ----------------------------------------------
>     network      davecb   davecb   7470   phoenix  (192.168.220.101) Sun May 16
>     network      davecb   davecb   7589   chimaera (192.168.220.102) Sun May 16

>     Locked files:
>     Pid    DenyMode   R/W        Oplock           Name
>     --------------------------------------------------
>     7589   DENY_NONE  RDONLY   EXCLUSIVE+BATCH  /home/samba/quicken/inet/common/system/help.bmp   Sun May 16 21:23:40 1999
>     7470   DENY_WRITE RDONLY   NONE             /home/samba/word/office/findfast.exe              Sun May 16 20:51:08 1999
>     7589   DENY_WRITE RDONLY   EXCLUSIVE+BATCH  /home/samba/quicken/lfbmp70n.dll                  Sun May 16 21:23:39 1999
>     7589   DENY_WRITE RDWR     EXCLUSIVE+BATCH  /home/samba/quicken/inet/qdata/runtime.dat        Sun May 16 21:23:41 1999
>     7470   DENY_WRITE RDONLY   EXCLUSIVE+BATCH  /home/samba/word/office/osa.exe                   Sun May 16 20:51:09 1999
>     7589   DENY_WRITE RDONLY   NONE             /home/samba/quicken/qversion.dll                  Sun May 16 21:20:33 1999
>     7470   DENY_WRITE RDONLY   NONE             /home/samba/quicken/qversion.dll                  Sun May 16 20:51:11 1999

>     Share mode memory usage (bytes):
>        1043432(99%) free + 4312(0%) used + 832(0%) overhead = 1048576(100%) total

> #### オプションの一覧

> #### -b

> - smbstatus で要約された出力が表示されるようにする。Sambaのバージョン情報とサーバにログインしているユーザについての情報が一覧される。

> #### -d

> - 前の例で示したような3つのセクションに分かれた詳細な出力が表示される。デフォルトのオプションはこれである。

> #### -L

> - smbstatus で現在ロックされているファイルのみ表示されるようにする。これは、は詳細に出力の2つめのセクションに該当する。

> #### -p

> - smbd プロセスのIDの一覧のみ表示する。スクリプトで使用されることがある。

> #### -S

> - 共有の一覧と共有への接続状況のみ表示する。詳細出力の最初のセクションに該当する。

> #### -s configuration_file

> - smbstatusを実行する際に、利用するsmb.conf設定を指定する。

> #### -u username

> - smbstatus で特定の一人のユーザに関してのみレポートされるように制限する。

> ### smbtar

> smbtar プログラムはtarコマンドを実行する際に、プログラムにより分かりやすいオプションを提供するsmbclientの優れたシェルスクリプトである。機能上、Unixのtarプログラムに等しいものである。

> #### Options

> #### -a

> - アーカイブ属性のビットをリセットする。

> #### -b blocksize

> - ブロックを行うサイズを指定する。デフォルトは20である。

> #### -d directory

> - ファイルをリストア、バックアップを行う前に、指定のディレクトリに移るように変更する。

> #### -i

> - 増分モード; tarファイルにDOSアーカイブ属性のビットを持っているファイルのみバックアップするようにする。アーカイブ属性のビットはそれぞれのファイルが読み込まれた後にリセットされる。

> #### -l log_level

> - ロギングレベルを設定する。

> #### -N filename

> - 最後の修正された日付が指定されたfilenameより新しいファイルのみバックアップする。増分バックアップを使用する際に使用される。

> #### -p password

> - 共有にアクセスする際に用いるパスワードを指定する。

> #### -r

> - tarファイルから共有にファイルをリストアする。

> #### -s server

> - 共有が存在するSMB/CIFSサーバを指定する。

> #### -t tape

> - テープ装置、あるいはファイルを指定する。環境変数$TAPEがデフォルト値になる。$TAPEが設定されていない場合には tar.outがデフォルト値になる。

> #### -u user

> - 共有に接続を行う際のユーザ名を指定する。同様にusername%passwordの形式でパスワードも同時に指定出来る。

> #### -v

> - 詳細出力モードを使用する。

> #### -X file

> - smbtarでtarファイルを作成またはリストアする際に、特定のファイルを含まないようにする。

> #### -x share

> - 接続を行うサーバの共有の名前を指定する。デフォルトでは、バックアップを行うための通常の共有名としてbackupが指定される。

> #### 例えば、ユーザ sueのデータのアーカイブを作成するための慣用的なバックアップコマンドは次のようになる:

> # smbtar -s pc_name -x sue -u sue -p secret -t sue.tar

> ### nmblookup

> nmblookup プログラムは、NBTマシン名の名前解決を行って、IPアドレスを得るためのNetBIOS-over-UDP/IPの名前解決サービスを実行するクライアントプログラムである。指定された名前のマシンが応答するまで、ローカルサブネット上で問い合わせをブロードキャストすることにより動作する。Windows nslookup(1) 、dig(1)と同様と考えて良い。 通常のNetBIOS名とWindowsの名前解決サービスがディレクトリサービスを提供するために使用する __MSBROWSE__に関する情報を調べるのに役に立つだろう。特定のタイプのNetBIOS名を問い合わせたい場合、NetBIOS <type>を名前の最後に付与すれば良い。

> コマンドラインでは次のよう指定する:

> nmblookup [-options] name

> サポートされているオプションは次のようになる:

> #### -A

> - nameをIPアドレスに翻訳してから更に、IPアドレスに対してノード状況の問い合わせを行う。

> #### -B broadcast _address

> - 与えられたブロードキャストアドレスに問い合わせを送信する。デフォルトではプライマリのネットワークインタフェースのブロードキャストアドレスに問い合わせを送信する。

> #### -d debuglevel

> - デバッグ(ロギングと呼ばれることもある)レベルを設定する。レベルは0から10までの任意の値を設定できる。デバッグレベル0では、最も重要にメッセージのみログに記録される。;レベル1では通常の記録が行われる。;レベル3とそれ以上の値は、主にデバッグの際に用いられる。この場合、顕著にプログラムの動作が遅くなる。

> #### -h

> - プログラムのコマンドラインの用法についての情報を表示する。

> #### -i scope

> - NetBIOS識別子を設定する。同じ識別子を持ったマシンのみサーバと通信できる。スコープ識別子は、ワークグループが用いられるようになる前に使用されていた。このオプションは下位互換性のためのみ残されている。

> #### -M

> - ローカルマスタブラウザを検索する。これは、特別な名前の __MSBROWSE__を返答するマシンを検索するブロードキャストを用いて行われる。この後は問い合わせを再度ブロードキャストする代わりに、情報を検索するのにそのマシンに問い合わせを行う。

> #### -R

> - パケットの中の再帰が期待されるビットを設定する。このオプションを指定することにより、返答するマシンがWINSに名前検索を行うように試み、WINSサーバに保存されているアドレスとその他の情報を返すようになる。

> #### -r

> - Windows 95に対して137番ポートを入出力ポートとする。

> #### -S

> - 一度、名前問い合わせによりIPアドレスが得た後に、ノード状況問い合わせも同様に行う。このオプションによって、マシンが知っている全てのリソースタイプを数字で表し応答を行う。例えば、次のようになる:

>     % nmblookup -d 4 -S elsbeth
>     received 6 names
>           ELSBETH                <00> - <GROUP> B <ACTIVE>
>           ELSBETH                <03> -         B <ACTIVE>
>           ELSBETH                <1d> -         B <ACTIVE>
>           ELSBETH                <1e> - <GROUP> B <ACTIVE>
>           ELSBETH                <20> -         B <ACTIVE>
>           ..__MSBROWSE__..       <01> - <GROUP> B <ACTIVE>

> #### -s configuration_file

> - Samba設定ファイルを指定する。デフォルトでは/usr/local/samba/lib/smb.confが使用されるが、コマンドラインで指定することにより上書きすることが出来る。通常はデバッグのために用いる。

> #### -T

> - このオプションを用いることによりIPアドレスを解決された名前に変換することが出来る。

> #### -U unicast_address

> - 特定のアドレスにユニキャスト問い合わせを行う。-Rオプションを伴ってWINSサーバへ問い合わせに使用される。

> nmblookupにワークグループオプションは存在しないことに注意して欲しい;workgroup = workgroup_name とSamba設定ファイルに設定し、-s smb.conf_fileオプションを付けてnmblookupを行えば、この問題を避けることが出来る。

> ### smbpasswd

> smbpasswd パスワードは2つのはっきりした機能で組をなしている。ユーザとして実行する場合には、ユーザ自身の暗号化パスワードを変更を行う。rootとして実行する場合には、暗号化パスワードファイルを更新を行う。オプションを付けないで、通常のユーザとして実行する場合はプライマリドメインコントローラに接続しWindowsパスワードを変更する。

> smbdが動作していない場合、smbpasswdはうまく動作しない。hosts allow 、hosts deny設定オプションでlocalhost(IPアドレスは127.0.0.1)からの接続を許可していない場合や encrypted passwords = no オプションが指定されている場合も同様である。

> #### 標準的なユーザの場合のオプション

> #### -D debug_level

> - デバッグ(ロギングと呼ぶこともある)レベルを設定する。0から10までの任意の値を設定できる。デバッグレベル0では、最も重要なメッセージのみログに記録を行う;レベル1は通常に行う;レベル3とそれ以上の値は、デバッグのために主に用いられる。プログラムの動作が顕著に遅くなる。

> #### -h

> - プログラムのコマンドラインでの用法の情報を表示する。

> #### -r remote_machine_name

> - パスワードの変更を行う対象となるマシンを指定する。リモートマシンはプライマリドメインコントローラ(PDC)でなければならない。

> #### -R resolve_order

> - ネームサーバの名前解決順序を設定する。このオプションは、resolve order設定オプションと同様である。任意の4つパラメータを設定出来る。lmhosts, host, wins, bcast, が指定可能である。任意の順序で指定可能である。

> #### -U username

> - -rオプションとのみ一緒に指定して使用する。リモートマシンの異った綴りのusernameのパスワードを変更するのに使用される。

> #### Rootのみ使用可能なオプション

> #### -a username

> - 暗号化パスワードファイルにユーザを追加する。

> #### -d username

> - 暗号化パスワードファイルのユーザを無効にする。

> #### -e username

> - 暗号化パスワードファイルの無効になっているユーザを有効にする。

> #### -m machine_name

> - マシンのアカウントパスワードを変更する。マシンアカウントはプライマリ/バックアップコントローラに接続を行う際にマシンを信頼するのに使用される。

> #### -j domain_name

> - SambaサーバをWindows NTドメインに加える。

> #### -n

> - ユーザにパスワードの設定を行わない。

> #### -s username

> - smbpasswd で表示が行われないようにし、/dev/tty(制御端末)からでなく標準入力から古いパスワードと新しいパスワードを読み込むようにする。これはスクリプトを作成する際に便利だろう。

> ### testparm

> testparm プログラムはsmb.confファイルに構文エラーと矛盾がないかどうかチェックする。コマンドラインで次のように実行する:

> testparm [options] configfile_name [hostname IP_addr]

> 設定ファイルが指定されないとsamba_dir /lib/smb.confがデフォルトでチェックされる。ホスト名とIPアドレスが指定されると、指定されたマシンがSambaに接続を許されているかどうか確認する追加のチェックも行われる。ホスト名が指定される場合には、対応するIPアドレスも必要である。

> #### オプションの一覧

> #### -h

> - testparmプログラムのコマンドラインでの用法を表示する。

> #### -L server_name

> - %L設定変数を指定されたサーバ名に置き換える。

> #### -s

> - このオプションを指定するとtestparmによりサーバの設定オプションの一覧が表示される前に、改行キーを押すようにユーザにプロンプトが標示されないようになる。

> ### testprns

> testprns プログラムにより、システムのプリンタ定義(printcap)ファイルで設定されたプリンタの中にある指定されたプリンタのチェックが行われる。コマンドラインで次のように指定する:

> testprns printername [printcapname]

> printcapname が指定されていないと、Sambaではsmb.confファイルで指定されたprintcapnameを使用しようと試行される。ただし、smb.confで指定されていない場合には、Sambaでは/etc/printcapが試行される。それが失敗するとエラーとなる。

> ### rpcclient

> SMBサーバのRPC(リモートプロシージャコール)インターフェイスを使用するために、新しい作られたクライアントである。smbclientのように、rpcclientはSamba開発者のためのテストプログラムとして開発された。しばらくの間、おそらくそのままの状態が続くだろう。コマンドラインで次のように指定する:

> rpcclient //server/share

> コマンドラインのオプションの指定方法は、Samba 2.0のsmbclientと同じである。実行可能なコマンドは、下の通りである。

> ####

> #### rpcclientのコマンド一覧

> コマンド | 記述
> --- | ---
> regenum keyname | リスト(キー、値)を登録する。
> regdeletekey keyname | キーの削除を登録を行う。
> regcreatekey keyname [keyvalue] | キーの作成を登録を行う。
> regquerykey keyname | キーの問い合わせを登録を行う。
> regdeleteval valname | 値の削除を登録を行う。
> regcreateval valname valtype value | キーの作成を登録を行う。
> reggetsec keyname | キーのセキュリティを登録を行う。
> regtestsec keyname | キーのセキュリティの登録のテストを行う。
> ntlogin [username] [password] | NTドメインにログインテストを行う。
> wksinfo | ワークステーションの問い合わせ情報を表示する。
> srvinfo | サーバの問い合わせ情報を表示する。
> srvsessions | サーバのセッションの一覧を表示する。
> srvshares | サーバの共有一覧を表示する。
> srvconnections | サーバへの接続一覧を表示する。
> srvfiles | サーバのファイル一覧を表示する。
> lsaquery | 情報ポリシー(ドメインメンバー、ドメインサーバ)を問い合わせを行う。
> lookupsids | SIDを用いて名前を解決を行う。
> ntpass | NT SAMパワードを変更を行う。

> ### tcpdump

> tcpdump は、表式に合致したインターフェイスの全てのパケットへッダをダンプを行う為の標準的なシステム管理ユーティリティである。Sambaシステムに含まれているバージョンではSMBプロトコルを理解出来るように拡張されている。 expression では簡素な方法であるが"and," "or," and "not,"を用いた論理表記を用いる。例えばhost escrimeでは、escrimeに到着、あるいはescrimeから発信される、すべてのパケットを選択される。表式では、通常ひとつかそれ以上から構成される:

> - host name
> - net network_number
> - port name
> - src name
> - dst name

> 最もよく使われるオプションは、src(source)、dst (destination)とportである。 例えば、本書の中では次のコマンドを使用した:

> tcpdump port not telnet

> この例では、telnet以外のすべてのパケットをダンプしている; telnetを用いてログインし、SMBパケットのみ調べている。

> その他のtcpdump の表記の例では、サーバとsue あるいはjoeの間のトラフィックを選択を行っている:

> tcpdump host server and \(sue or joe \)

> -s 1500 オプションをへッダ情報のみだけでなく、全てのの送信されたSMBメッセージを捕捉するために用いることを推奨する。

> #### オプション一覧

> 非常に沢山のオプションがあり、tcpdumpで使用可能なその他の多くの種類の表式が存在する。高度なオプションの詳細についてはマニュアルページを参照して欲しい。最もよく使用されるオプションは以下のようなものである:

> #### -c count

> - 指定した数のパケットを受け取った後にtcpdumpプログラムの終了を行う。

> #### -F file

> - 指定したファイルから表式を読み取ってコマンドラインからの表式を無視する。

> #### -i interface

> - tcpdumpプログラムにより、指定したインターフェイスで傾聴を行うようにする。

> #### -r file

> - 指定されたファイル(-w)オプションを用いて捕捉された)パケットを読み取りを行う。

> #### -s length

> - (68バイトよりも大きい)指定されたバイト数のパケットのデータを保存する。

> #### -w file

> - 指定されたファイルにパケットの書き込みを行う。

C. Samba 設定ファイルクイックリファレンス |  | E. CVS を利用して Samba をダウンロードする方法

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

© 1999, O'Reilly & Associates, Inc.