mdsearch — SMB サーバに対して Spotlight 検索を実行
mdfine
{server} {sharename} {query} [-p, --path=STRING] [-L, --live] [-?|--help] [--usage] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] [--configfile=CONFIGFILE] [--option=name=value] [-l|--log-basename=LOGFILEBASE] [--leak-report] [--leak-report-full] [-R|--name-resolve=NAME-RESOLVE-ORDER] [-O|--socket-options=SOCKETOPTIONS] [-m|--maxprotocol=MAXPROTOCOL] [-n|--netbiosname=NETBIOSNAME] [--netbios-scope=SCOPE] [-W|--workgroup=WORKGROUP] [--realm=REALM] [-U|--user=[DOMAIN/]USERNAME[%PASSWORD]] [-N|--no-pass] [--password=STRING] [--pw-nt-hash] [-A|--authentication-file=FILE] [-P|--machine-pass] [--simple-bind-dn=DN] [--use-kerberos=desired|required|off] [--use-krb5-ccache=CCACHE] [--use-winbind-ccache] [--client-protection=sign|encrypt|off] [-V|--version]
このツールはsamba(1)システムの一部である。
mdsearch は、Spotlight mdssvc RPC サービスが動いている SMBサーバに対して、Spotlight 検索を動かすための簡単なユーティリティである。
接続先の SMB サーバ名又は IP アドレス。
サーバ上の共有名。
問い合わせ書式の構文は、シェルユーザになじみのあるファイル名の グロビングを単純化した形式である。問合せフォーマットは以下の通り:
attribute=="value"
Elasticsearch バックエンドを使った Spotlight が有効になっている
Samba サーバに対する問い合わせに対して、サポートされているメタデータ
属性の一覧は、JSON 属性マッピングファイルによって提供され、それは
通常
/usr/share/samba/mdssvc/elasticsearch_mappings.json
にインストールされる。
サーバサイドの検索用パスで、既定値は "/"である。
問い合わせを実行したままとする。
コマンドラインオプションの要約を表示する。
簡単な使用法を表示する。
level
は0から10までの整数値である。
このパラメータが設定されていない場合の規定の値は、
クライアントアプリケーションに対しては、1 である。
この値を大きくするほど、サーバーの動作に関するより詳細な情報が ログファイルに記録される。レベル 0 では、致命的なエラーと重大な警告 のみが記録される。レベル 1 は日々の運用に適しており、少量の稼働状況 に関する情報を生成する。
1 より上のレベルは大量のログが生成されるので、問題解決の時にのみ 使用すべきである。 3 より上のレベルは開発者だけが利用するように設計されて おり、莫大な量のログデータが生成される。そのほとんどは非常に謎めいた内容 となっている。
このパラメーターの指定は、${prefix}/etc/smb.conf
ファイル中の、
log level パラメーターの
指定よりも優先する事に注意。
このパラメータはデバッグ出力を STDOUT にリダイレクトする。既定では、 すべてのクライアントはログを STDERR に出力する。
クライアントが必要とする詳細な設定を含むファイルを指定する。
このファイル中にある情報は、クライアントまたはサーバに対して
一般的であるか、あるいは、
client smb encrypt
のような、クライアント固有のオプションのみを提供することが
できる。詳細については ${prefix}/etc/smb.conf
を参照のこと。既定の
設定ファイルの名前はコンパイル時に決定される。
コマンドラインから smb.conf(5) オプション "<name>" に値 "<value>" を設定する。 これはコンパイル時の既定値と設定ファイルから読み込まれた オプションを上書きする。名前または値に空白が入っていた場合、 引用符で --option=name=value 全体を囲む。
ログ/デバッグファイルのベースディレクトリ名。拡張子
".progname"
が追加される (たとえば
log.smbclient, log.smbd など)。ログファイルは
クライアントによって削除されることはない。
終了時の talloc リークレポートを有効にする。
終了時の完全な talloc リークレポートを有効にする。
プログラムのバージョン番号を表示する。
SMB のユーザー名、またはユーザー名とパスワードを指定する。
もしも %password を指定しないと、ユーザーにパスワードの入力を求める。
クライアントはまず初めにUSER
、LOGNAME
の
順に環境変数の存在を調べ、もしもどちらかが存在するならば、その文字列を
大文字にする。環境変数が存在しない場合、ユーザー名として
GUEST
が用いられる。
このほかに、平文のユーザー名とパスワードを記述した認証ファイルを使用する
3番目のオプションがある。このオプションは主にスクリプト向けに用意されて
おり、認証情報をコマンドラインや環境変数に含めたくない場合に有用である。
このオプションを利用するときは、ファイルのパーミッションを確認し、ほかの
ユーザーから参照されないように注意すること。詳細は
-A
オプションを参照のこと。
パスワードをスクリプトに含める場合は注意すること。セキュリティを確保する ため、必要に応じてクライアントにパスワードを要求させることを推奨する。
このオプションを指定すると、クライアントはユーザーへの パスワード入力要求をしなくなる。パスワードが必要ないサービスに アクセスするときに有用である。
コマンドラインにパスワードが指定されておらず、このオプションも指定 されていないと、クライアントはパスワードを要求する。
もしも、パスワードがコマンドライン上で指定され、このオプションも 定義されていた場合、コマンドライン上のパスワードは無視され、 パスワードは使われない。
コマンド行上でパスワードを指定する。
パスワードをスクリプトに含める場合は注意すること。セキュリティを確保する ため、必要に応じてクライアントにパスワードを要求させることを推奨する。
提供したパスワードは NT ハッシュである。
このオプションは、指定したファイルから、接続時に使用する ユーザー名とパスワードを読み込むために使用する。 ファイルの形式は次の通り:
username = <value> password = <value> domain = <value>
ファイルのパーミッションを確認し、他のユーザーから参照されない ように注意すること。
保存されたマシンパスワードアカウントを使用する。
シンプルバインドで使う DN。
このパラメータは、Samba クライアントツールが Kerberos を 使って認証を試みるかを決定する。Kerberos 認証では、サービスに 接続する際、IP アドレスではなく、DNS 名を使用する必要がある。
ここでこのパラメータを指定すると、${prefix}/etc/smb.conf
ファイル中の
client use kerberos パラメータを
上書きすることに注意。
Kerberos認証用の資格情報キャッシュの場所を指定する。
これは --use-kerberos=required も同時に設定する。
winbindによってキャッシュされた資格情報を使うようにする。
クライアントツールが使うべき接続の保護を設定する。
ここでこのパラメータを指定すると、${prefix}/etc/smb.conf
ファイル中の
client protection パラメータを
上書きすることに注意。
さらに細かな制御が必要な場合は、以下を使用できる:
--option=clientsmbencrypt=OPTION
,
--option=clientipcsigning=OPTION
,
--option=clientsigning=OPTION
.
すべての索引が付いたメタデータ属性を検索、完全一致:
'*=="Samba"'
すべての索引が付いたメタデータ属性を検索、接頭辞一致:
'*=="Samba*"'
ファイル名で検索:
'kMDItemFSName=="Samba*"'
日付で検索:
'kMDItemFSContentChangeDate<$time.iso(2018-10-01T10:00:00Z)'
ファイルの内容で検索:
'kMDItemTextContent=="Samba*"'
式:
kMDItemFSName=="Samba*"||kMDItemTextContent=="Tango*"'
File Metadata Search Programming Guide https://developer.apple.com/library/archive/documentation/Carbon/Conceptual/SpotlightQuery/Concepts/Introduction.html