smbmount は Linux の SMB ファイルシステムをマウントする。 通常、このコマンドは "-t smbfs" オプションをつけて mount(8) コマンドを実行する際に mount.smbfs という名称で呼び出される。このコマンドは Linux でのみ動作し、また カーネルが smbfs ファイルシステムをサポートしている必要がある。
smbmount のオプションは、コンマで区切られた key=value の組のリストの形で指定される。ここに挙げたオプション以外でも、 smbfs がサポートしているものを与えることもできる。 もしマウントに失敗したときは、unknown option のエラーがないか、カーネルのログ をチェックするとよい。
smbmount はデーモンである。マウントされた後、マウントされている smbfs がアンマウントされるまで動作しつづける。デーモンモードのときは "machine name" smbmount というキーワードをつけてログを記録する。そして たいていの場合は、 log.smbmount となる。 smbmount プロセスはまた、mount.smbfs と呼ばれる。
注意: smbmount は実際のマウントを行うために smbmnt(8) を呼び出す。 従って、smbmnt が path の通った中にあるように 気をつけること。
接続する際に用いるユーザ名を指定する。 指定されないときは、環境変数 USER が使用される。 このオプションは、user%password や user/workgroup もしくは user/workgroup%password という形で、 ユーザ名の一部としてパスワードやワークグループを 指定することも可能である。
SMB のパスワードを指定する。 指定されていないときは、環境変数 PASSWD が使用される。パスワードが取得できなければ、 guest オプションが指定されていない限り、 smbmount はパスワードを求めるプロンプトを表示する。
コマンドラインでは、(カンマ','のような) 引数の区切り文字を含むパスワードは、 正しく認識できないことに注意すること。ただし、 PASSWD 環境変数やパスワードを格納したファイル(以下「証明書ファイル」 と呼ぶ。詳しくは後述)ではそのようなパスワードも正しく認識できる。
ユーザ名やパスワードを含むファイルを指定する。 ファイルのフォーマットは以下のとおり:
username = <value> password = <value>
このファイルを利用することは、/etc/fstab のような 共有されているファイル中に平文でパスワードを記述するより好ましい。 このファイルは適切に保護するように注意すること。
送信元の NetBIOS 名を設定する。 デフォルトではローカルマシンのホスト名が使われる。
マウント先のファイルの所有者として用いる uid を設定する。 これはユーザ名でも数値の uid でも指定できる。
マウント先のファイルの所有グループとして用いる gid を設定する。 これはグループ名でも数値の gid でも指定できる。
リモートの SMB ポート番号を指定する。デフォルトは 139 である。
ファイルのパーミッションを指定する。これはマウント先のファイルに 設定するパーミッションとして用いられる。 デフォルトでは、現在の umask を元に設定される。
ディレクトリのパーミッションを指定する。これはマウント先のディレクトリに 設定するパーミッションとして用いられる。 デフォルトでは、現在の umask を元に設定される。
デバッグレベルを設定する。 これは SMB 接続の問題をチェックするのに有用である。開始する 推奨値は 4 である。大きな値を設定すると大量の出力がなされ、 おそらく有用な出力が隠れてしまうだろう。
接続先のホスト名または IP アドレスを指定する。
接続先のワークグループ名を指定する。
TCP ソケットのオプションを指定する。 smb.conf の socket options パラメータを参照のこと。
NetBIOS スコープを設定する。
パスワードプロンプトを表示しない。
read-only でマウントする。
read-write でマウントする。
Linux 側のコードページ-文字コード変換(NLS)で使用される文字コードを設定する。 引数は iso8859-1 のようなキャラクタセットの名前でなくてはいけない。 (注: カーネル 2.4.0 以降のみサポートされる)
サーバ側で使用される文字コードを指定する。 iocharset オプションを参照。例えば cp850 などである。 (注: カーネル 2.4.0 以降のみサポートされる)
ディレクトリのリストがどれだけの間キャッシュされるか ミリ秒単位で指定する (ファイルサイズおよび更新日時の表示のも影響する)。 大きな数値はサーバ上の変更が通知されるまで時間がかかるが 大きなディレクトリ、特に遠隔地の場合はパフォーマンスが改善される。 デフォルトでは1000ms であるが、多くの場合においては 10000ms(10秒)ぐらいのほうがより相応しい。 (注: カーネル 2.4.2 以降のみサポートされる)
USER 環境変数にはクライアントで使用されるユーザ名を含む。 この情報は、セッションレベルのパスワードをサポートしているレベルのプロトコルが 用いられている場合にのみ利用される。 (訳注:ここでいうプロトコルとは protocol パラメータで指定する SMB セッションに おけるプロトコルを意味する。) この変数にはユーザ名とパスワードの両方を username%password のフォーマットで設定することができる。
PASSWD 環境変数にはクライアントで使用されるパスワードを含む。 この情報は、セッションレベルのパスワードをサポートしているレベルのプロトコルが 用いられている場合にのみ利用される。
PASSWD_FILE 環境変数にはパスワードが 読み込まれるファイルのパスを含む。 単一行の入力が読み込まれ、パスワードとして使用される。
カンマ(,)を含むパスワードおよび他のオプションは扱うことができない。 パスワードについては、証明書ファイルを用意しておく方法や PASSWD 環境変数を利用する代替方法がある。
証明書ファイルではスペースで始まるユーザ名や パスワードを扱うことができない。
少し的外れであるかもしれないが、以下の smbfs のバグはここで言及しておくのに充分に重要である。
マウントの動作がときどき停止することがある。これは通常 smbmount の停止によって引き起こされる。smbfs はサーバが切断したときに 再接続するのに smbmount を必要とするので、最終的に mount が停止している ようになる。通常は umount してから mount することでこの問題に対処できる。 少なくとも2つの方法でこのバグが引き起こされることが確認されている。
バグ報告に対してまず行われる返答は、とりあえず最新のバージョンで 試してみるような忠告である。 まず最初にそのこと(最新バージョンへの更新)を試したうえで、 バグを報告するときは関連するソフトウェア(最低限でも Samba、 カーネル、ディストリビューション)のバージョンを含めること。
Linux カーネルソースツリーにある Documentation/filesystems/smbfs.txt には追加のオプションや情報があるかもしれない。
FreeBSD にも smbfs はあるが、smbmount とは関連がない。
Solaris、HP-UX やその他のOS では smbsh(1) をみるとよい。あるいは sharity を使うことや SMB サーバを NFS サーバに 置き換えることで解決できるかもしれない。
Volker Lendecke, Andrew Tridgell, Michael H. Warfield and others.
smbfs およびユーザ空間でのツール smbmount、 smbumount、 および smbmnt の現在のメンテナは Urban Widmarkである。 これらのプログラムに関する質問を尋ねるには SAMBA メーリングリスト (訳注:これは本家すなわち英語の メーリングリストであることに注意) が相応しい。
このマニュアルページの Samba 2.2 のための変換は by Gerald Carter が行った。
日本語訳
高橋 基信(monyo@samba.gr.jp)
太田 俊哉(ribbon@samba.gr.jp)
はせがわ ようすけ