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] [-c <command>]
smbclient
{servicename} [password] [-b <buffer size>] [-d debuglevel] [-e] [-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 といったユーティリティで処理
しやすくなる。
ローカルサーバのマシンアカウントを使い、外部サーバに対して問い合わせを行う。
Print a summary of command line options.
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
is an integer
from 0 to 10. The default value if this parameter is
not specified is 1.
The higher this value, the more detail will be logged to the log files about the activities of the server. At level 0, only critical errors and serious warnings will be logged. Level 1 is a reasonable level for day-to-day running - it generates a small amount of information about operations carried out.
Levels above 1 will generate considerable amounts of log data, and should only be used when investigating a problem. Levels above 3 are designed for use only by developers and generate HUGE amounts of log data, most of which is extremely cryptic.
Note that specifying this parameter here will
override the parameter
in the smb.conf
file.
Prints the program version number.
The file specified contains the
configuration details required by the server. The
information in this file includes server-specific
information such as what printcap file to use, as well
as descriptions of all the services that the server is
to provide. See smb.conf
for more information.
The default configuration file name is determined at
compile time.
Base directory name for log/debug files. The extension
".progname"
will be appended (e.g. log.smbclient,
log.smbd, etc...). The log file is never removed by the client.
If specified, this parameter suppresses the normal password prompt from the client to the user. This is useful when accessing a service that does not require a password.
Unless a password is specified on the command line or this parameter is specified, the client will request a password.
If a password is specified on the command line and this option is also defined the password on the command line will be silently ingnored and no password will be used.
Try to authenticate with kerberos. Only useful in an Active Directory environment.
Try to use the credentials cached by winbind.
This option allows you to specify a file from which to read the username and password used in the connection. The format of the file is
username = <value> password = <value> domain = <value>
Make certain that the permissions on the file restrict access from unwanted users.
Sets the SMB username or username and password.
If %password is not specified, the user will be prompted. The
client will first check the USER
environment variable, then the
LOGNAME
variable and if either exists, the
string is uppercased. If these environmental variables are not
found, the username GUEST
is used.
A third option is to use a credentials file which
contains the plaintext of the username and password. This
option is mainly provided for scripts where the admin does not
wish to pass the credentials on the command line or via environment
variables. If this method is used, make certain that the permissions
on the file restrict access from unwanted users. See the
-A
for more details.
Be cautious about including passwords in scripts. Also, on
many systems the command line of a running process may be seen
via the ps
command. To be safe always allow
rpcclient
to prompt for a password and type
it in directly.
This option allows you to override
the NetBIOS name that Samba uses for itself. This is identical
to setting the parameter in the smb.conf
file.
However, a command
line setting will take precedence over settings in
smb.conf
.
This specifies a NetBIOS scope that
nmblookup
will use to communicate with when
generating NetBIOS names. For details on the use of NetBIOS
scopes, see rfc1001.txt and rfc1002.txt. NetBIOS scopes are
very rarely used, only set this parameter
if you are the system administrator in charge of all the
NetBIOS systems you communicate with.
Set the SMB domain of the username. This overrides the default domain which is the domain defined in smb.conf. If the domain specified is the same as the servers NetBIOS name, it causes the client to log on using the servers local SAM (as opposed to the Domain SAM).
TCP socket options to set on the client
socket. See the socket options parameter in
the smb.conf
manual page for the list of valid
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/yshare "" -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バイトの 内部メモリバッファを使用する。このコマンドは、163.4.3x4000)バイトから 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 によって行われた。