SMBSTATUS(1) User Commands SMBSTATUS(1)

smbstatus - گزارش وضعیت اتصالات جاری سامبا

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 برنامه‌ای بسیار ساده برای فهرست کردن اتصالات جاری سامبا است.

-P|--profile

اگر سامبا با گزینهٔ پروفایلینگ کامپایل شده باشد، فقط محتویات ناحیهٔ حافظهٔ اشتراکی پروفایلینگ را چاپ می‌کند.

-R|--profile-rates

اگر سامبا با گزینهٔ پروفایلینگ کامپایل شده باشد، محتویات ناحیهٔ حافظهٔ اشتراکی پروفایلینگ و نرخ فراخوانی‌ها را چاپ می‌کند.

-b|--brief

خروجی خلاصه و کوتاه ارائه می‌دهد.

-v|--verbose

خروجی با جزئیات کامل ارائه می‌دهد.

-L|--locks

باعث می‌شود smbstatus فقط قفل‌ها را فهرست کند.

-B|--byterange

باعث می‌شود smbstatus قفل‌های محدودهٔ بایتی را نیز شامل شود.

-p|--processes

فهرستی از فرایندهای smbd(8) را چاپ کرده و خارج می‌شود. برای اسکریپت‌نویسی مفید است.

-S|--shares

باعث می‌شود smbstatus فقط اشتراک‌ها را فهرست کند.

-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"
        }
      }
    }
  }
}

در صورت استفاده از oplock:

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

در صورت استفاده از lease:

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

همراه با قفل‌های محدودهٔ بایتی (-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
      }
    ]
  }

همراه با اعلان‌ها (-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"
  }
}

برای پروفایلینگ (-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
    },
    ...
  },
  "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=level

level یک عدد صحیح از 0 تا 10 است. مقدار پیش‌فرض در صورت مشخص نشدن این پارامتر برای برنامه‌های کلاینت 1 است.

هرچه این مقدار بالاتر باشد، جزئیات بیشتری دربارهٔ فعالیت‌های سرور در فایل‌های گزارش (لاگ) ثبت می‌شود. در سطح 0، فقط خطاهای بحرانی و هشدارهای جدی ثبت می‌شوند. سطح 1 سطحی معقول برای استفادهٔ روزمره است - مقدار کمی اطلاعات دربارهٔ عملیات انجام‌شده تولید می‌کند.

سطوح بالاتر از 1 حجم قابل‌توجهی از داده‌های لاگ را تولید می‌کنند و فقط باید هنگام بررسی مشکلات استفاده شوند. سطوح بالاتر از 3 منحصراً برای استفادهٔ توسعه‌دهندگان طراحی شده‌اند و حجم بسیار زیادی از داده‌های لاگ تولید می‌کنند که بیشتر آن‌ها بسیار مبهم هستند.

توجه داشته باشید که تعیین این پارامتر در اینجا، مقدار پارامتر log level را در فایل /etc/samba/smb.conf بازنویسی می‌کند.

--debug-stdout

خروجی اشکال‌زدایی را به STDOUT هدایت می‌کند. به صورت پیش‌فرض تمام کلاینت‌ها گزارش‌های خود را به STDERR می‌فرستند.

--configfile=<configuration file>;

فایل مشخص‌شده شامل جزئیات پیکربندی مورد نیاز کلاینت است. اطلاعات موجود در این فایل می‌تواند عمومی (برای کلاینت و سرور) باشد یا فقط گزینه‌های اختصاصی کلاینت را مانند client smb encrypt ارائه دهد. برای اطلاعات بیشتر /etc/samba/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

شماره نسخهٔ برنامه را چاپ می‌کند.

این صفحهٔ راهنما بخشی از نسخهٔ 4.24.6 مجموعهٔ سامبا است.

smbd(8) و smb.conf(5).

نرم‌افزار اصلی سامبا و ابزارهای مرتبط با آن توسط Andrew Tridgell ساخته شده‌اند. سامبا در حال حاضر توسط تیم سامبا (Samba Team) به عنوان یک پروژهٔ متن‌باز مشابه روند توسعهٔ هستهٔ لینوکس توسعه داده می‌شود.

08/16/2026 Samba 4.24.6