smbclient — サーバー上の SMB/CIFS リソースにアクセスする ftp のようなクライアント
smbclient
[-b <buffer size>] [-d debuglevel] [-e] [-L <netbios name>] [-U username] [-I destinationIP] [-M <netbios name>] [-m maxprotocol] [-A authfile] [-N] [-g] [-i scope] [-O <socket options>] [-p port] [-R <name resolve order>] [-s <smb config file>] [-k] [-P|--machine-pass] [-c <command>]
smbclient
{servicename} [password] [-b <buffer size>] [-d debuglevel] [-e|--encrypt] [-D Directory] [-U username] [-W workgroup] [-M <netbios name>] [-m maxprotocol] [-A authfile] [-N] [-g] [-l log-basename] [-I destinationIP] [-E] [-c <command string>] [-i scope] [-O <socket options>] [-p port] [-R <name resolve order>] [-s <smb config file>] [-T<c|x>IXFqgbNan] [-k]
このツールは Samba(7)システムの一部である。
smbclient
は SMB/CIFS サーバーと「会話」をする
ことができるクライアントである。ftp プログラム (ftp(1)を参照) とよく似たインターフェースを提供し、
サーバーからローカルマシンへファイルをダウンロードしたり、
ローカルマシンからサーバーへとファイルをアップロードしたり、
サーバーからディレクトリ情報を取得するなどの動作を行う。
servicename は利用したいサービスのサーバー上での
名前である。サービス名は //server/service
のような形をとり、server
は利用したい
サービスを提供している SMB/CIFS サーバーの NetBIOS 名であり、
service
は提供されているサービスの名前である。
したがって、SMB/CIFS サーバー "smbserver" の "printer"
というサービスに接続するには、//smbserver/printer
というサービス名を使用する。
必要とされるサーバー名が、一概にサーバーの IP (DNS) ホスト名であるとは限らないことに注意! 必要とされる名前は NetBIOS 名であり、その名前はサーバーの動作しているマシンの IP ホスト名と同じかも知れないし、 異なっているかも知れない。
サーバー名を解決する方法は、smbclient
の -R
オプションか、smb.conf(5) ファイル中の name resolve order パラメーターに
よって決定される。
このパラメーターにより、管理者が、名前解決の順番や方式を変更する
ことが可能になっている。
指定したサーバーのサービスへアクセスするために
必要なパスワードである。このパラメーターが指定された場合、
-N
オプション (パスワードプロンプトの抑止)
が自動的に設定される。
デフォルトのパスワードはない。 (このパラメーターを用いるか、
-U
オプション (以下を参照) でパスワードが
指定されなかった事により) パスワードがコマンドラインから指定されず、
-N
オプションも指定されていない場合、
サーバーがパスワードを要求しているかどうかに関わらず、
クライアントはパスワード入力を求める。
(パスワードが必要でない場合は、 単に ENTER キーを入力する事で、
空のパスワードを渡せばよい。)
注意: ある種のサーバー (OS/2、Windows for Workgroup など) は、 大文字のパスワードを要求する。小文字や、大文字小文字の混じった パスワードは拒否されるであろう。
パスワードをスクリプト中に記述するときは、十分注意すること。
このオプションは、Samba スイートのプログラムによって、ホスト名と IP アドレスの名前解決のためにどのようなネーミングサービスをどのような順序で使用するかを決めるのに使用される。このオプションには、名前解決オプションを文字列のかたちで指定する。複数を指定する場合はスペースで区切る。
指定できるのは、"lmhosts"、"host"、"wins"、"bcast"である。それぞれにおいて、 名前解決は次のように行われる。
lmhosts
: Samba lmhosts ファイルで IP アドレスが検索される。lmhosts の行に NetBIOS 名にアタッチされるネームタイプがない場合(詳細については lmhosts(5) を参照)、ネームタイプがどれであるかは検索結果に影響しなくなる。
host
: システムの /etc/hosts
、NIS、DNS ルックアップを使用した、ホスト名 - IP アドレス間の標準の名前解決が行われる。名前解決の方法の詳細な部分は、IRIX、Solaris といった OS によって変わる。/etc/nsswitch.conf
で制御できる場合もある。この方法は、検索される NetBIOS 名のタイプが 0x20 (サーバー) である時にのみ使用できる点に注意。さもなければ指定しても無視される。
wins
: wins server
パラメーターに指定された IP アドレスを持つ名前が検索される。WINS サーバーが指定されていなければ、無視される。
bcast
: interfaces
パラメーターに指定された既知のローカル・インターフェースそれぞれについてブロードキャストを行う。ターゲット・ホストがローカル接続サブネット上にある場合にしか使えないので、最も信頼性の低い名前解決法。
このパラメーターが設定されなかった場合、名前解決方法の使用順序は、smb.conf(5) ファイルのパラメーター (name resolve order) に指定されたとおりになる。
デフォルトの優先順位は、lmhosts、host、wins、bcast となる。このパラメーターがない場合、あるいはsmb.conf(5) ファイルの name resolve order
パラメーターにエントリがない場合、この順序で名前解決方法が試行される。
このオプションを指定すると、"WinPopup" プロトコルを使って、別のコンピューターへメッセージを送信する事が できる。接続が確立してから任意のメッセージを入力する。 終了するには、^D (control-D) を入力する。
受信したコンピューターで WinPopup が起動していれば、 ユーザーはおそらくビープ音とともに、メッセージを受信する事になる。 WinPopup が起動していないとメッセージは失われ、 なんのエラーメッセージも表示されない。
1600 byte を越えるメッセージは、プロトコルの仕様による 制限のため、自動的に切り捨てられる。
便利な使用例として、smbclient
を通してメッセージを cat する方法を紹介しよう。例えば:
smbclient -M FRED < mymessage.txt
とすると、
mymessage.txt
ファイルの内容をメッセージ
としてマシン FRED に送ることができる。
また -U
や -I
オプションも、メッセージの FROM や TO に相当する設定を指定したい場合は、
便利なこともある。
Samba で WinPopup メッセージを受け取る方法は、smb.conf(5) の message command
パラメーターを参照のこと。
注意: WfWg PC で常にメッセージを 受信できるようにしたいなら、startup グループに WinPopup をコピーすること。
この値は、サーバーへ接続するときに利用する TCP のポート番号である。SMB/CIFS サーバー用の標準の (well-known) TCP ポート番号は 139 であり、これがデフォルト値となる。
-L
と組み合わせることで、パースしやすい出力を
得られる。これにより grep や cut といったユーティリティで処理
しやすくなる。
ローカルサーバーのマシンアカウントを使い、外部サーバーに対して問い合わせを行う。
コマンドラインオプションの要約を表示する。
IP address
は接続する
サーバーの IP アドレスを表す。これは、標準的な "a.b.c.d"
形式で指定する。
通常クライアントは前述した name resolve order
パラメーター中で記述した NetBIOS 名の解決メカニズムを
用いて検索する事により、その SMB/CIFS サーバーのアドレスを
解決しようとする。このパラメーターを使うことで、クライアントは、
強制的に指定された IP アドレスをサーバーの IP アドレスとみなし、
接続しようとしているリソースの NetBIOS 名を上書きする。
このパラメーターのデフォルト値はない。 このパラメーターが指定されなければ、アドレスは前述したようにして クライアントが自動的に決定する。
このパラメーターは、クライアントがメッセージを 標準出力ではなく、標準エラー出力 (stderr) に出力するようにする。
既定値では、クライアントはメッセージを標準出力 - 一般的にはユーザーの tty - に出力する。
このオプションを指定すると、サーバー上で利用可能な
サービスを一覧することができる。smbclient -L host
のようにして使うと、サービスの一覧が表示される。
NetBIOS 名が TCP/IP の DNS のホスト名に一致しない場合や、
別のネットワーク上のホストの情報を表示しようとしている場合は、
-I
オプションが役にたつ。
このオプションは、smbclient
に対してリモートサーバーが表示するファイル名をどのように変換すべきかを
指定する。通常、アジア言語のマルチバイト文字の UNIX 上での実装は、
SMB/CIFS サーバーと異なる文字セットを使用している (例えば
SJIS ではなく EUC、というように)。
このパラメーターを設定することで、smbclient
は
UNIX 上のファイル名と SMB サーバー上のファイル名との変換を正しく
行うようになる。このオプションは厳格にテストされたものではなく、
多少問題があるかも知れない。
terminal code には CWsjis, CWeuc, CWjis7, CWjis8, CWjunet, CWhex, CWcap がある。これらは全てではなく、完全なリストは、 Samba のソースコードをチェックして欲しい。
このオプションはサーバーとファイルの送受信を 行なうときの送受信バッファーのサイズを変更する。 デフォルト値は 65520 バイトである。この値を (最小 1200 バイトまで) 小さくすることで、 Windows 9x サーバーとのファイルの転送がスピードアップすることが 確認されている。
このコマンド行パラメーターは、UNIX拡張をサポートするリモート サーバーを要求する。 コネクション要求は暗号化される。これは、Samba3.2のための新しい機能であり、 Samba3.2以降のサーバーでのみ動作する。GSSAPIを使用してSMB暗号化をネゴシエートする。 もしも、ドメイン/ユーザー名/パスワード の3つ組が与えられた場合、暗号化 ネゴシエーション(kerberosまたはNTLMv1/v2)のため、与えられた証明書を使う。 もしも暗号化がネゴシエートできなかった場合、接続は失敗する。
level
は0から10までの整数値である。
既定値の値は、パラメーターが設定されていなければ1である。
この値を大きくするほど、サーバーの動作に関するより詳細な情報が ログファイルに記録される。レベル 0 では、致命的なエラーと重大な警告 のみが記録される。レベル 1 は日々の運用に適しており、少量の稼働状況 に関する情報を生成する。
1 より上のレベルは大量のログが生成されるので、問題解決の時にのみ 使用すべきである。 3 より上のレベルは開発者だけが利用するように設計されて おり、莫大な量のログデータが生成される。そのほとんどは非常に謎めいた内容 となっている
このパラメーターの指定は、smb.conf
ファイル中の、
log level パラメーターの
指定よりも優先する。
プログラムのバージョン番号を表示する。
サーバーが必要とする詳細な設定を含む設定ファイルを
指定する。このファイルには、サーバーが提供するサービスに関する記述や、
どの printcap ファイルを利用するかといった情報が含まれている。詳細は
smb.conf
を参照のこと。設定ファイルの名前の既定値は、コンパイル時
に決定される。
ログ/デバッグファイルのファイル名。拡張子として
".progname"
が追加される(例えば log.smbclient,
log.smbd,など)。ログファイルはクライアントによって削除されることはない。
このオプションを指定すると、クライアントはユーザーへの パスワード入力要求をしなくなる。パスワードが必要ないサービスにアクセスする ときに有用である。
コマンドラインにパスワードが指定されておらず、このオプションも指定 されていないと、クライアントはパスワードを要求する。
もしも、パスワードがコマンドライン上で指定され、このオプションも 定義されていた場合、コマンドライン上のパスワードは無視され、パスワードは 使われない。
Kerberos による認証を試みる。アクティブディレクトリ環境でのみ有効である。
このオプションは、指定したファイルから、接続に使用する ユーザー名とパスワードを読み込むために使用する。ファイルの形式は次の通り:
username = <value> password = <value> domain = <value>
ファイルのパーミッションを確認し、ほかのユーザーから参照されない ように注意すること。
SMB のユーザー名、またはユーザー名とパスワードを指定する。
もしも %password を指定しないと、ユーザーにパスワードの入力を求める。
クライアントはまず初めにUSER
、LOGNAME
の順に
環境変数の存在を調べ、もしもどちらかが存在するならば、その文字列を大文字にする。
環境変数が存在しない場合、ユーザー名としてGUEST
が用いられる。
このほかに、平文のユーザー名とパスワードを記述した認証ファイルを使用する
オプションがある。このオプションは主にスクリプト向けに用意されており、認証情報を
コマンドラインや環境変数に含めたくない場合に有用である。このオプションを利用する
ときは、ファイルのパーミッションを確認し、ほかのユーザーから参照されないように
注意すること。詳細は-A
オプションを参照のこと。
パスワードをスクリプトに含める場合は注意すること。多くのシステムでは、実行
中のプロセスのコマンドラインはps
コマンドで参照することが
できてしまう。安全のため、必ず、rpcclient
を使用して、
パスワード入力を要求し、直接入力するようにしておくこと。
Samba 自身の NetBIOS 名を指定する。このオプションは、
smb.conf
中の、netbios name パラメーターの設定に相当する。コマンドラインの指定は、
smb.conf
内の設定よりも優先される。
nmblookup
が、通信用のNetBIOS名
を生成する時に使うNetBIOS スコープを指定する。NetBIOS スコープの詳細な
利用方法については、 RFC 1001 と RFC 1002 を参照のこと。NetBIOSスコープ
はごく稀にしか利用されない。NetBIOS システム
全体を運営している管理者が、そのシステム内の相手と通信する場合にのみ、
このパラメーターを設定する。
ユーザー名の SMB ドメインを指定する。このオプションは、 smb.conf 内のデフォルトのドメイン設定よりも優先される。ドメイン名として サーバーの NetBIOS 名を指定すると、クライアントは (ドメインの SAM では なく) サーバーのローカル SAM を使用してログオンを試みる。
クライアントのソケットに設定する TCP のソケットオプ
ション。有効なオプションの一覧については、smb.conf
マニュアルページ
中の socket options パラメーターを参照のこと。
smbclient は SMB/CIFS 共有上の全てのファイルに
おいて、tar(1)
互換のバックアップを行う事が
できる。このオプションに設定可能な副次的な tar
フラグは以下のとおり。
c
- UNIX 上で tar
ファイルを作成する。このオプションの後には tar
ファイルの名前、テープデバイス、もしくは標準出力を意味する
"-" のいずれかを指定しなければならない。
標準出力を指定した場合、ログレベルを最低の -d0 にして、
tar ファイルの出力が破壊されないようにすること。
このフラグは x
フラグと互いに
排他的な関係にある。
x
- ローカルの tar
ファイルを共有に展開 (リストア) する。-D オプションが
指定されていないと、tar ファイルは共有の最上位
ディレクトリからリストアされる。
このオプションの後には tar ファイルの名前、デバイスの名前、
あるいは 標準入力を意味する "-" を指定しなければならない。
このフラグは c
フラグと互いに
排他的な関係にある。リストアされたファイルは、作成日時
(mtime) が tar ファイルに保存された時点の日付になる。
また、現在ディレクトリについては、作成日時が正しく
リストアされない。
I
- 指定したファイルと
ディレクトリを処理の対象にする。このオプションは、ファイル名が
指定されている場合のデフォルトの動作であり、tar ファイルを
展開または作成する時に、指定されたものだけを処理の対象にする
(従って、それ以外のものは全て除外される)。
下記の例を参照のこと。ファイル名のワイルドカード指定機能は、
二つある方式のどちらかを使う。下記の r
オプションを参照のこと。
X
- 指定したファイルと
ディレクトリを 処理の対象から除外する。このオプションは tar
ファイルを展開または作成する時に、指定されたものを処理の対象から
除外する。下記の例を参照のこと。 ファイル名のワイルドカード
指定機能は、二つある方式のどちらかを使う。下記の r
オプションを参照のこと。
F
- ファイルとディレクトリの一覧を含むファイルである。
F
オプションは、展開または作成時に含まれる
ファイルとディレクトリのリストを含むファイル名として作成するためのtarファイルの名前となる。
(and therefore everything else to be excluded).
以下の例を参照のこと。ファイル名の globbingは2つの方法のどちらかで動作する。
下記のr
オプションを参照のこと。
b
- ブロックサイズ。
このオプションの後には有効な (1 以上の) ブロックサイズを
指定しなければならない。このオプションにより、tar ファイルは、
ブロックサイズ*TBLOCK (通常 512 バイト) ブロックの単位で
書き出されるようになる。
g
- インクリメンタル
(増分)。 アーカイブビットが立っているファイルだけをバックアップ
する。 c
フラグが指定されている時のみ
意味をもつ。
q
- 表示の抑止(quiet)。
動作中の状態メッセージの表示を抑止する。これは、tar モードでも
同様である。
r
- 正規表現。
HAVE_REGEX_H フラグを設定してコンパイルした場合は、処理対象に
含めるか除外するファイルを指定する為に正規表現を使うことができる。
(訳注: 原文では "excluding or excluding files" となっているが、
"including or excluding files" の誤りだと思われる)
しかし、このモードは非常に遅い。HAVE_REGEX_H フラグなしで
コンパイルされた場合は、 * と ? を用いる 限定的なワイルドカードが
使用できる。
N
- 更新(newer)。
このオプションの後には、ファイル名を指定する必要がある。
そのファイルの日付と作成中に共有上で見付かったファイルの日付とが
比較される。指定されたファイルより新しいファイルだけが tar
ファイルにバックアップされる。 c
フラグが指定されている時のみ意味をもつ。
a
- アーカイブビットを
セットする。ファイルがバックアップされた時点でアーカイブビットが
クリアされる。 g
および c
フラグが設定されている時のみ意味をもつ。
Tar における長いファイル名
smbclient
の tar オプションは、 現在
バックアップとリストアの両方で長いファイル名をサポートしている。しかし、
ファイルのフルパス名は 1024 バイト以下である必要がある。また tar
アーカイブが作成された時、 smbclient
の tar
オプションはそのアーカイブ内の全てのファイルを絶対ファイル名ではなく、
相対ファイル名で記録する。
Tar ファイル名
全てのファイルには、DOS のパス名('\\'をパス名の区切りとする) を付与するか、UNIX のパス名 ('/'をパス名の区切りとする) を付与する ことができる。
例
tar ファイルの backup.tar
を mypc 上の
myshare (パスワードなし) にリストアする。
smbclient //mypc/myshare "" -N -Tx backup.tar
users/docs
以外の全てをリストアする。
smbclient //mypc/myshare "" -N -TXx backup.tar
users/docs
users/docs
配下のファイルを含む tar
ファイルを作成する。
smbclient //mypc/myshare "" -N -Tc
backup.tar users/docs
上記と同じ tar ファイルを作成するが、DOS のパス名を使用する。
smbclient //mypc/myshare "" -N -Tc backup.tar
users\\edocs
(訳注: 原文は -tc となっているが、-Tc が正しいと思われる。また、 \ はコマンドライン上では \\ とする必要がある。)
共有上にある全てのファイルとディレクトリを含む tar ファイルを作成する。
smbclient //mypc/myshare "" -N -Tc backup.tar *
動作を開始する前に、ディレクトリ initial directory に移動する。おそらく、利用されるのは tar オプション -T が指定された ときだけだろう。
command string はセミコロンで区切ったコマンドの
リストである。このコマンドは、標準入力から受け取るコマンドの代わりに
実行される。-N
オプションが -c
オプションによって、暗黙の内に設定される。
このオプションが特に役立つのは、スクリプトで利用したり、
標準入力を例えば -c 'print -'
のようにして
サーバーに出力したりする場合である。
クライアントが起動すると、ユーザーには以下のようなプロンプトが表示される。
smb:\>
バックスラッシュ ("\\") はサーバー上の現在の作業ディレクトリを示しており、 作業ディレクトリを変えるとこの表示も変わる。
このプロンプトは、クライアントの準備ができ、ユーザーのコマンド実行を 待機している事を示している。各コマンドは、一つの単語であるが、コマンドによっては、 コマンド固有のパラメーターを指定する事もできる。コマンドとパラメーターは、 特に注釈がない限り、スペースで区切られる。 全てのコマンドは大文字小文字を識別しない。 コマンドのパラメーターは、コマンドによって大文字と小文字が区別されたり されなかったりする。
スペースが含まれているファイル名は、名前をダブルクオート文字で、例えば、 "a long file name" のように括る事で指定できる。
大括弧 ("[" と "]") で括られて示されているパラメーター (例えば "[parameter]") は、オプションである。指定されなかった場合、コマンドは適切なデフォルト値を用いる。 不等号記号 ("<" と ">") で括られて示されているパラメーター (例えば "<parameter>") は、必須である。
サーバー上でのコマンドの実行は、実際にサーバーに対して要求を発行する事で 実行される事に注意してほしい。従って、その動作はサーバー間で異なる場合があり、 サーバーの実装方法に依存している。
利用できるコマンドを以下にアルファベット順で紹介する。
command
を指定すると、?
コマンドは指定されたコマンドについての簡潔で有益な説明を表示する。
command を指定しないと、利用できるコマンドの一覧が表示される。
shell command
を指定すると、
! コマンドはローカルでシェルを起動し、指定されたシェルコマンドを起動する。
コマンドを指定しないと、ローカルなシェルが起動する。
クライアントは、ファイルまたはディレクトリについてのすべての 存在する情報(streamを含む)をサーバーが返す要求を出す。
クライアントは、ファイルまたはディレクトリの "代わり" の名前 (8.3形式の名前) を返すようにサーバーに要求する。
ファイル上で操作を行うときにアーカイブレベルを設定する。 0はアーカイブビットを無視、1はこのビットを設定するようにのみファイルを操作し、 2は操作時にこのビットを設定し、操作終了後にビットを解除するのみ行い、 3はすべてのファイルに対して操作時に設定を行い、操作終了後にビットを解除する。 既定値は0である。
操作時のブロックサイズパラメーターを設定する。既定値は20である。 tarファイルの出力をblocksize*TBLOCK(通常512バイト)ユニットごとに行うようにする。
クライアントは、与えられたジョブ ID の印刷ジョブを キャンセルするようにサーバーに要求する。
サーバーに対して、ファイル名の大文字小文字の区別を行うことを 告げるSMBパケット中のフラグのOn/Offを行う。既定値では、OFFに設定される (ファイルサーバーに対してファイル名の大文字小文字の区別を行わない事を告げる)。 smb.conf中で case sensitive parameter が設定されているSamba 3.0.5以降 のサーバーにのみ、現在影響する。
もしも、"ディレクトリ名"が指定されたならば、サーバー上の 現在の作業ディレクトリは指定されたディレクトリに変更される。この操作は、 そのディレクトリがアクセス不能の場合失敗する。
もしも、ディレクトリ名が指定されない場合は、サーバー上の現在の作業 ディレクトリが表示される。
このコマンドはサーバーの CIFS UNIX 拡張のサポートに依存し、 サーバーがサポートしていない場合は失敗する。クライアントは、UNIX での標準形式である 8 進数での UNIX パーミッションに変更するように サーバーに要求する。
このコマンドはサーバーのCIFS UNIX拡張のサポートに依存し、 サーバーがサポートしていない場合は失敗する。クライアントは、与えられた 10進数のユーザーID、グループIDに所有者を変更するようにサーバーに要求する。 現在は、与えられた名前からリモートの uid と gid を検索する方法は ないことに注意。これは、将来のバージョンの CIFS UNIX 拡張によって 対応されるかもしれない。
openコマンドで開いたファイルを明示的にクローズする。 Samba内部のテストプロセスでのみ使用する。
クライアントがサーバーに対し、サーバー上の現在の
作業ディレクトリで mask
に一致するすべての
ファイルを削除するように要求する。
サーバー上の現在の作業ディレクトリで、mask
に一致するファイルの一覧をサーバーから入手し、表示する。
ディレクトリの表示を行い、次に、現在のディスクの使用量と共有上の空きスペースを表示する。
pingを行うため、SMBecho要求をサーバーに対して送る。Samba内部のテストのためにのみ使われる。
サーバーとの接続を終了し、プログラムを終了する。
remote file name
という名前の
ファイルをサーバーからクライアントを実行しているマシンへコピーする。
local file name
が指定されていると、
それがローカルにコピーされるファイルの名前となる。
smbclient
によるファイルの転送は、すべて binary
モードで行われることに注意してほしい。lowercase コマンドも参照のこと。
サーバーがUNIX拡張をサポートしている事を要求する。ファイル上のPOSIX ACLを要求し、表示する。
WindowsのCIFS文法をつかって、サーバー上にハードリンクを作成する。
前述の ? コマンドを参照のこと。
コマンド履歴を表示する。
ファイル送受信の際、smbclientは既定値で64512バイトの 内部メモリバッファーを使用する。このコマンドは、16384 (0x4000)バイトから 16776960(0xFFFF00)バイトの範囲で、このサイズを変更することが出来る。 接続されたサーバーに対してより効率的な読み書き要求を使うことをsmbclientが 行うように試みるので、より大きなサイズはより効率的なデータ転送を意味する。
directory name
を指定すると、
ローカルマシン上の現在の作業ディレクトリが指定されたディレクトリになる。
何らかの理由で指定されたディレクトリにアクセスできないと、
操作は失敗する。
ディレクトリ名を指定しないと、ローカルマシン上の現在の 作業ディレクトリが表示される。
このコマンドはサーバーの CIFS UNIX 拡張のサポートに依存し、 サーバーがサポートしていない場合は失敗する。クライアントは、targetと linknameファイルの間にハードリンクを作成するようにサーバーに要求する。 linknameファイルが存在してはいけない。
DFSのために、現在保持している接続状況を表示する。
このコマンドはサーバーがCIFS UNIX拡張をサポートしているかに 依存し、もしもそうでなければ失敗する。与えられたレンジ上で与えられたタイプの POSIX fcntlロックを設定する事を試みる。Samba内部のテスト用のみに使われる。
再度ログオンすることにより、このセッションのための新しい vuidを確立する。新しいvuidを表示する。Samba内部のテスト用のみに使われる。
get および mget コマンドにおいて、ファイル名を 小文字化するかどうかの設定を切り換える。
小文字化を ON にすると、 get および mget コマンドを使ったときに、 ローカルのファイル名が小文字に変換される。これは、サーバーから (いわゆる) MS-DOS 形式の名前を持つファイルをコピーするときに役立つ。 UNIX システムでは、ファイル名を小文字にするのが一般的であるためである。
前述の dir コマンドを参照のこと。
このコマンドは、mget と mput コマンドが再帰的な操作を 行うときに用いるマスクを設定する。
再帰モードが ON のとき、 mget と mput コマンドに指定するマスクは ファイルに対するフィルターとしてではなく、ディレクトリに対するフィルター として働く。
mask コマンドで指定するマスクは、それらのディレクトリ配下の ファイルをフィルターするために必要となる。たとえば、mget コマンドが "source*" のときに mask が指定されており、mask コマンドで指定されたマスクが "*.c" で、再帰モードが ON であったとする。すると mget コマンドは、 現在の作業ディレクトリ中の "source*" に一致するすべてのディレクトリ配下で、 "*.c" に一致するすべてのファイルを取得する。
既定値では mask の値は空 ('*' と同等) になっており、 mask コマンドを使って変更されるまで変わらない。mask の値は、最後に 指定された値を保ち続ける。 予想外の結果を招かないように、mget か mput コマンドを使った後には、 mask の値を '*' に戻しておくことが賢明である。
mkdir コマンドを参照のこと。
mask
に一致するすべての
ファイルを、サーバーからクライアントを実行しているマシンにコピーする。
再帰モードになっているかどうかによって、mask
の解釈が異なることに注意。詳細は recurse と mask
コマンドを参照のこと。smbclient
によるファイルの転送は、
すべて binary モードで行われることに注意してほしい。
lowercase も参照のこと。
指定された名前の新しいディレクトリを (ユーザーのアクセスが 許可されている) サーバー上に作成する。
ローカルマシン上の現在の作業ディレクトリ内で
mask
に一致するすべてのファイルを、サーバー上の現在の
作業ディレクトリにコピーする。
再帰モードになっているかどうかによって、mask
の解釈が異なることに注意。詳細は、recurse と mask
コマンドを参照のこと。smbclient
によるファイルの転送は、
すべて binary モードで行われることに注意してほしい。
CIFS UNIX拡張をサポートするかをリモートサーバーに問い合わせし、 提供されている機能一覧を表示する。もしもそうであれば、(もしも可能であれば) 大きなファイルの読み書きとPOSIXパス名の処理をONにする。
このコマンドはサーバーがCIFS UNIX拡張をサポートしているかに 依存し、そうでなければ失敗する。このコネクション上でSMB暗号化の ネゴシエーションを試みる。もしもsmbclientがkerberos証明書 (-k)で接続され ていたならば、このコマンドの引数は無視され、kerberos証明書はGSSAPIの書名と sealingの代わりに使われる。最初の接続時にsmbclentに対して暗号化を 強制する -e オプションも参照のこと。 このコマンドはSamba 3.2から新規に導入された。
このコマンドはサーバーがCIFS UNIX拡張をサポートしているかに 依存し、もしもそうでなければ失敗する。CIFS UNIX拡張を使ってリモートファイルを オープンし、ファイルIDを表示する。 Samba内部のテスト用のみに使用される。
このコマンドはサーバーがCIFS UNIX拡張をサポートしているかに 依存し、もしもそうでなければ失敗する。CIFS UNIX拡張を使って与えられたモードで、 リモートディレクトリを作成する。 Samba内部のテスト用のみに使用される。
このコマンドはサーバーがCIFS UNIX拡張をサポートしているかに 依存し、もしもそうでなければ失敗する。CIFS UNIX拡張を使って リモートディレクトリを削除する。 Samba内部のテスト用のみに使用される。
このコマンドはサーバーがCIFS UNIX拡張をサポートしているかに 依存し、もしもそうでなければ失敗する。CIFS UNIX拡張を使って リモートファイルを削除する。
指定したローカルマシン上のファイルを、サーバー上の 印刷サービスを使って印刷する。
mget と mput コマンドの操作において、ファイル名の確認を 行うかどうかの設定を切り換える。
この設定が ON であると、これらのコマンドの実行中、各ファイルごとに 転送するかどうかをユーザーに確認する。設定が OFF であると、指定された すべてのファイルが確認なしに転送される。
local file name
という名前の
ファイルをクライアントを実行しているマシンからサーバーにコピーする。
remote file name
が指定されていると、それがサーバーに
コピーされるファイルの名前となる。
smbclient
によるファイルの転送は、すべて binary
モードで行われることに注意してほしい。lowercase コマンドも参照のこと。
印刷のキューを表示し、印刷ジョブの ID、名前、サイズ、 現在の状態が見られる。
exit コマンドを参照のこと。
rmdir コマンドを参照のこと。
mget と mput コマンドにおいて、ディレクトリを再帰的に 辿るかどうかの設定を切り換える。
この設定が ON であると、それらのコマンドは、対象となるディレクトリ (すなわち、コピー元となるディレクトリ) 内のすべてのディレクトリを処理し、 コマンドに指定した mask に一致するディレクトリを再帰的に辿る。 ファイルは、mask コマンドを使って指定したマスクに一致するものだけが、 処理の対象となる。 mask コマンドも参照のこと。
この設定が OFF である場合、コピー元となるマシンの作業ディレクトリから、 mget または mput コマンドに指定されたマスクに一致するファイルだけが コピーされる。mask コマンドを使って指定されたマスクは無視される。
サーバー上の現在の作業ディレクトリ上の
old filename
を
new filename
に改名する。
mask
に一致するすべての
ファイルをサーバー上の現在の作業ディレクトリから削除する。
指定された名前の (ユーザーのアクセスが許可されている) ディレクトリをサーバーから削除する。
DOS 版の attrib コマンドと同等に、ファイルの パーミッションを設定する。 例えば
setmode myfile +r
は myfile を読み込み専用にする。
DFSのために現在有効な接続情報を表示する。
このコマンドはサーバーがCIFS UNIX拡張をサポートしているかに 依存し、もしもそうでなければ失敗する。クライアントはUNIXベースの情報レベルを 要求し、ファイルについてのLinux statコマンドと同じ情報を出力する。これには サイズ、ディスクで使用されているブロック数、ファイルのタイプ、パーミッション、 inode番号、リンクの数と最後に3つの時刻情報(アクセス、変更と更新)が含まれる。 もしもファイルがスペシャルファイル(シンボリックリンク、文字またはブロックデバイス、 fifoあるいはソケット)の場合は、拡張情報も出力される。
このコマンドはサーバーの CIFS UNIX 拡張のサポートに依存し、 サーバーがサポートしていない場合は失敗する。クライアントは、target と linkname ファイルの間にシンボリックリンクを作成するようにサーバーに 要求する。linkname ファイルは存在してはいけない。 サーバーは現在接続している共有の外を指すリンクは作成しないことに注意。 これは Samba server によって強制される。
tar 作業を行う。 前述の -T
コマンドラインオプションを参照のこと。このコマンドの動作は tarmode
コマンド (下記を参照) に影響される。
パラメーター g (増分) と N (更新) を使うと、tarmode の設定に影響を及ぼす。
tar x (展開) 時のオプションに "-" (標準入力) を使っても動作しないだろう。
かわりにコマンドラインオプションで使うようにすること。
ブロックサイズ。このオプションの後には有効な
(1 以上の) ブロックサイズを指定しなければならない。
このオプションにより、tar ファイルは、
blocksize
*TBLOCK (通常 512 バイト)
ブロックの単位で書き出されるようになる。
アーカイブビットに関する tar の動作を設定する。 full (完全) モードでは、tar はアーカイブビットの状態に関わらず、 すべてをバックアップする (これがデフォルトのモード)。 incremental(増分) モードでは、tar はアーカイブビットが設定された ファイルだけをバックアップする。 reset モードでは、tar はバックアップしたファイルのアーカイブビットを クリアする (読み書きできる共有において)。
このコマンドはサーバーの CIFS UNIX 拡張のサポートに依存し、 サーバーがサポートしていない場合は失敗する。与えられたレンジでPOSIX fcntl ロックの解除を試みる。 Samba内部のテストのみに用いられる。
共有のボリューム名を表示する。
与えられた任意の番号に対するプロトコル中の現在使われている vuidを変更する。引数が与えられないと、現在使われているvuidを表示する。 Samba内部のテストのみに用いられる。
サーバーによっては、与えられたユーザー名、パスワード、共有名 (サービス名とも言う)、マシン名などの大文字小文字を厳格に識別する。 サーバーへの接続が失敗したときは、すべてのパラメーターを大文字にして 試してみよう。
ある種のサーバーに接続するときには、-n オプションを使わなければ ならないような場合がよくある。たとえば OS/2 の LanManager では、有効な NetBIOS 名が使われていなければならない。 よって、サーバーが知っている有効な名前を与える必要がある。
サーバーが LANMAN2 かそれ以降のプロトコルをサポートしている場合、 smbclient は長いファイル名をサポートする。
変数 USER
の値は、クライアントが使用するユーザーの名前となる。
この情報は、プロトコルのレベルが充分高く、セッションレベルのパスワードを
サポートしている場合にだけ利用される。
変数 PASSWD
の値は、クライアントが使用するユーザーの
パスワードとなる。この情報は、プロトコルのレベルが充分高く、セッションレベルの
パスワードをサポートしている場合にだけ利用される。
変数 LIBSMB_PROG
にはサーバーへの接続に代わりクライアントが
接続する、system() で起動されるパスを設定する。この機能は aid の開発を主用途とし、
LMHOSTS ファイルの利用時に効果を発揮する。
クライアントプログラムをどこに置くべきかは、各システム管理者が 判断すべき問題である。よって、以下はただの提案である。
クライアントソフトウェアは /usr/local/samba/bin
か /usr/samba/bin
にインストールし、ディレクトリは
全ユーザーから読み出し可能で root のみ書き込み可能にすることが推奨される。
クライアントプログラム自身はすべてのユーザーから実行可能にするべきである。
クライアントを setuid や setgid しないように!
クライアントのログファイルは、そのユーザーだけが読み書き可能な ディレクトリに置くこと。
クライアントをテストするには、動作している SMB/CIFS サーバーの名前を 知らなくてはならない。smbd(8) は一般ユーザーでも起動することが できるので、ユーザーが利用できるポート (たいていは 1024 より大きいポート番号 ならどこでもよい) でデーモンとしてサーバーを起動することで、 適切なテスト環境となるだろう。
クライアントによって出されたほとんどの診断メッセージは、 指定されたログファイルに記録される。ログファイルの名前はコンパイル時に 指定されるが、コマンドラインで変更することもできる。
利用できる診断メッセージの量と内容は、クライアントで設定された デバッグレベルに依存する。問題を抱えているなら、デバッグレベルを 3 に設定してログファイルに目を通してほしい。
オリジナルの Samba ソフトウェアと関連するユーティリティは、Andrew Tridgell によって作られた。Samba は現在、Linux カーネルが開発されているような 方法でのオープンソースプロジェクトである Samba Team によって開発されている。
オリジナルの Samba のマニュアルページは Karl Auer によって書かれた。 マニュアルページのソースは YODL 形式(別の、優秀なオープンソースソフトウェアで、 ftp://ftp.icce.rug.nl/pub/unix/ にある)で変換され、Jeremy Allison によって Samba 2.0 リリースのために更新された。 Samba 2.2 のための DocBook 形式への変換は Gerald Carter が行った。 Samba 3.0 のための DocBook XML 4.2 形式の変換は Alexander Bokovoy によって行われた。