名前

smbstatus — 現在の Samba の接続を報告

書式

smbstatus [-p|--processes] [-v|--verbose] [-L|--locks] [-S|--shares] [-N|--notify] [-u|--user=STRING] [-b|--brief] [-P|--profile] [-R|--profile-rates] [-B|--byterange] [-n|--numeric] [-f|--fast] [-j|--json] [--resolve-uids] [-?|--help] [--usage] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] [--configfile=CONFIGFILE] [--option=name=value] [-l|--log-basename=LOGFILEBASE] [--leak-report] [--leak-report-full]

説明

このツールは Samba(7)システムの一部である。

smbstatus は現在の Samba への接続を 表示するだけの非常に単純なプログラムである。

オプション

-P|--profile

Samba が profiling オプション付きでコンパイルされた場合に、profile された共有メモリの内容だけを出力する。

-R|--profile-rates

Sambaが profiling オプションつきで コンパイルされた場合に、profiling 共有メモリ領域と call rates の内容を出力する。

-b|--brief

簡単な出力を表示する。

-v|--verbose

詳細な出力を表示する。

-L|--locks

ロックのリストだけを表示する。

-B|--byterange

バイト範囲のロック(byte range lock)を含めて表示する

-p|--processes

smbd(8) のプロセスの一覧を表示し、終了する。 スクリプト作成時に有用である。

-S|--shares

共有の一覧だけを表示する。 (訳注: "共有の" は "接続の" としたほうが正しい。)

-N|--notify

smbstatusに、登録されたファイルの通知を表示させる。

-f|--fast

smbstatusに、すべてを参照するステータスデータが、 引き続き有効であるプロセスかどうかのチェックにより、ステータスデータが 有効ならば、チェックしないようにさせる。これは、高負荷なシステム上や クラスターでの実行を高速化するが、適切に終了処理がされていないで終了した プロセスの古いデータが表示されるかもしれない。

-u|--user=<username>

username で 指定されたユーザーに関する情報だけを表示する。

-n|--numeric

smbstatus の表示において、UIDとGIDの値を、 名前ではなく、数字として表示する。

-j|--json

より詳細な情報を、人が読みやすい形の代わりに JSON 形式で出力する。出力は以下の形式である:

{
  "timestamp": "2022-04-15T18:25:15.364891+0200",
  "version": "4.17.0pre1-GIT-a0f12b9c80b",
  "smb_conf": "/opt/samba/etc/smb.conf",
  "sessions": {
    "3639217376": {
      "session_id": "3639217376",
      "server_id": {
        "pid": "69650",
        "task_id": "0",
        "vnn": "4294967295",
        "unique_id": "10756714984493602300"
      },
      "uid": 1000,
      "gid": 1000,
      "username": "johndoe",
      "groupname": "johndoe",
      "remote_machine": "127.0.0.1",
      "hostname": "ipv4:127.0.0.1:59944",
      "session_dialect": "SMB3_11",
      "encryption": {
        "cipher": "",
        "degree": "none"
      },
      "signing": {
        "cipher": "AES-128-GMAC",
        "degree": "partial"
      }
    }
  },
  "tcons": {
    "3813255619": {
      "service": "sharename",
      "server_id": {
        "pid": "69650",
        "task_id": "0",
        "vnn": "4294967295",
        "unique_id": "10756714984493602300"
      },
      "tcon_id": "3813255619",
      "session_id": "3639217376",
      "machine": "127.0.0.1",
      "connected_at": "2022-04-15T17:30:37+0200",
      "encryption": {
        "cipher": "AES-128-GMAC",
        "degree": "full"
      },
      "signing": {
        "cipher": "",
        "degree": "none"
      }
    }
  },
  "open_files": {
    "/home/johndoe/testfolder/sample": {
      "service_path": "/home/johndoe/testfolder",
      "filename": "sample",
      "fileid": {
        "devid": 59,
        "inode": 11404245,
        "extid": 0
      },
      "num_pending_deletes": 0,
      "opens": {
        "56839/2": {
          "server_id": {
            "pid": "69650",
            "task_id": "0",
            "vnn": "4294967295",
            "unique_id": "10756714984493602300"
          },
          "uid": 1000,
          "share_file_id": 2,
          "sharemode": {
            "hex": "0x00000003",
            "NONE": false,
            "READ": true,
            "WRITE": true,
            "DELETE": false,
            "text": "RW"
          },
          "access_mask": {
            "hex": "0x00000003",
            "READ_DATA": true,
            "WRITE_DATA": true,
            "APPEND_DATA": false,
            "READ_EA": false,
            "WRITE_EA": false,
            "EXECUTE": false,
            "READ_ATTRIBUTES": false,
            "WRITE_ATTRIBUTES": false,
            "DELETE_CHILD": false,
            "DELETE": false,
            "READ_CONTROL": false,
            "WRITE_DAC": false,
            "SYNCHRONIZE": false,
            "ACCESS_SYSTEM_SECURITY": false,
            "text": "RW"
          },
          "caching": {
            "READ": false,
            "WRITE": false,
            "HANDLE": false,
            "hex": "0x00000000",
            "text": ""
          },
          "oplock": {},
          "lease": {},
          "opened_at": "2022-04-15T17:30:38+0200"
        }
      }
    }
  }
}
                                

oplocks が使われている場合は:

          "oplock": {
            "EXCLUSIVE": false,
            "BATCH": false,
            "LEVEL_II": true,
            "LEASE": false,
            "text": "LEVEL_II"
          }
                                

If leases are used:

          "lease": {
            "lease_key": "29316055-f55c-de10-c813-af7bf5a430bb",
            "hex": "0x00000005",
            "READ": true,
            "WRITE": true,
            "HANDLE": false,
            "text": "RW"
          }
                        

With byte-range locks (-B, --byterange):

  "byte_range_locks": {
    "/home/johndoe/testfolder/sample": {
      "fileid": {
        "devid": 59,
        "inode": 11404245,
        "extid": 0
      },
      "file_name": "sample",
      "share_path": "/home/johndoe/testfolder",
      "locks": [
        {
          "server_id": {
            "pid": "69650",
            "task_id": "0",
            "vnn": "4294967295",
            "unique_id": "10756714984493602300"
          },
          "type": "R",
          "flavour": "Posix",
          "start": 0,
          "size": 16
        }
      ]
    }
                        

notifies (-N, --notify) がある場合は:

  "notify": {
    "77247": {
      "server_id": {
        "pid": "69650",
        "task_id": "0",
        "vnn": "4294967295",
        "unique_id": "10756714984493602300"
      },
      "path": "/home/johndoe/testfolder/testdir",
      "filter": 4095,
      "subdir_filter": 4095,
      "creation_time": "1970-01-01T01:00:14.326582+01:00"
    }
  }
                        

profiling (-P, --profile) の場合は:

{
  "timestamp": "2022-04-15T18:40:43.112216+0200",
  "version": "4.17.0pre1-GIT-a0f12b9c80b",
  "smb_conf": "/opt/samba/etc/smb.conf",
  "SMBD loop": {
    "connect": {
      "count": 2
    },
    "disconnect": {
      "count": 1
    },
    ...
  },
  "System Calls": {
    "syscall_opendir": {
      "count": 0,
      "time": 0
    },
    ...
  },
  "ACL Calls": {
    "get_nt_acl": {
      "count": 0,
      "time": 0
    },
    ...
  },
  "Stat Cache": {
    "statcache_lookups": {
      "count": 2
    },
    ...
  },
  "SMB Calls": {
    "SMBmkdir": {
      "count": 0,
      "time": 0
    },
    ...
  },
  "SMB Calls": {
    "SMBmkdir": {
      "count": 0,
      "time": 0
    },
    ...
  },
  "Trans2 Calls": {
    "Trans2_open": {
      "count": 0,
      "time": 0
    },
    ...
  },
  "NT Transact Calls": {
    "NT_transact_create": {
      "count": 0,
      "time": 0
    },
    ...
  },
  "SMB2 Calls": {
    "smb2_negprot": {
      "count": 2,
      "time": 3060,
      "idle": 0,
      "inbytes": 452,
      "outbytes": 568
    },
    ...
  }
}
                        

-?|--help

コマンドラインオプションの要約を表示する。

--usage

簡単な使用法を表示する。

-d|--debuglevel=DEBUGLEVEL

level は0から10までの整数値である。 このパラメータが設定されていない場合の規定の値は、 クライアントアプリケーションに対しては、1 である。

この値を大きくするほど、サーバーの動作に関するより詳細な情報が ログファイルに記録される。レベル 0 では、致命的なエラーと重大な警告 のみが記録される。レベル 1 は日々の運用に適しており、少量の稼働状況 に関する情報を生成する。

1 より上のレベルは大量のログが生成されるので、問題解決の時にのみ 使用すべきである。 3 より上のレベルは開発者だけが利用するように設計されて おり、莫大な量のログデータが生成される。そのほとんどは非常に謎めいた内容 となっている。

このパラメーターの指定は、${prefix}/etc/smb.conf ファイル中の、 log level パラメーターの 指定よりも優先する事に注意。

--debug-stdout

このパラメータはデバッグ出力を STDOUT にリダイレクトする。既定では、 すべてのクライアントはログを STDERR に出力する。

--configfile=<configuration file>

クライアントが必要とする詳細な設定を含むファイルを指定する。 このファイル中にある情報は、クライアントまたはサーバに対して 一般的であるか、あるいは、 client smb encrypt のような、クライアント固有のオプションのみを提供することが できる。詳細については ${prefix}/etc/smb.conf を参照のこと。既定の 設定ファイルの名前はコンパイル時に決定される。

--option=<name>=<value>

コマンドラインから smb.conf(5) オプション "<name>" に値 "<value>" を設定する。 これはコンパイル時の既定値と設定ファイルから読み込まれた オプションを上書きする。名前または値に空白が入っていた場合、 引用符で --option=name=value 全体を囲む。

-l|--log-basename=logdirectory

ログ/デバッグファイルのベースディレクトリ名。拡張子 ".progname" が追加される (たとえば log.smbclient, log.smbd など)。ログファイルは クライアントによって削除されることはない。

--leak-report

終了時の talloc リークレポートを有効にする。

--leak-report-full

終了時の完全な talloc リークレポートを有効にする。

-V|--version

プログラムのバージョン番号を表示する。

バージョン

このマニュアルページは Samba バージョン 4.20.4 用である。

関連項目

smbd(8)smb.conf(5).

著者

オリジナルの Samba ソフトウェアと関連するユーティリティは、 Andrew Tridgell によって作られた。Samba は現在 Linux カーネルが 開発されているような方法でのオープンソースプロジェクトである Samba Team によって開発されている。

日本語訳

このマニュアルページは Samba 4.17.0 - 4.20.4 に対応する。

このドキュメントの Samba 3.0.0 対応の翻訳は、ちかましゅうへい によって行なわれた。

このドキュメントの Samba 3.2.4 - 4.20.4 対応の翻訳は、太田俊哉(ribbon@samba.gr.jp)によって行なわれた。