SMBCONTROL(1) User Commands SMBCONTROL(1)

smbcontrol - ارسال پیام به فرایندهای smbd، nmbd یا winbindd

smbcontrol [-?|--help] [--usage] [-t|--timeout] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] [--configfile=CONFIGFILE] [--option=name=value] [-l|--log-basename=LOGFILEBASE] [--leak-report] [--leak-report-full]

smbcontrol [destination] [message-type] [parameter]

این ابزار بخشی از مجموعهٔ samba(7) است.

دستور smbcontrol برنامهٔ بسیار کوچکی است که پیام‌هایی را به دیمن‌های در حال اجرای smbd(8)، nmbd(8) یا winbindd(8) روی سیستم ارسال می‌کند.

-t|--timeout

تنظیم مهلت زمانی (timeout) بر حسب ثانیه.

destination

یکی از مقادیر nmbd، smbd، winbindd یا شناسهٔ فرایند (PID).

مقصد all باعث می‌شود پیام به تمامی دیمن‌های در حال اجرا شامل nmbd و winbind «پخش همگانی» (broadcast) شود. این تغییر از نسخهٔ Samba 3.3 اعمال شده است؛ پیش از آن پارامتر smbd این کار را انجام می‌داد.

مقصد smbd باعث می‌شود پیام به دیمن smbd مشخص‌شده در فایل smbd.pid ارسال گردد.

مقصد nmbd باعث می‌شود پیام به دیمن nmbd مشخص‌شده در فایل nmbd.pid ارسال گردد.

مقصد winbindd باعث می‌شود پیام به دیمن winbind مشخص‌شده در فایل winbindd.pid ارسال گردد.

اگر یک شناسهٔ فرایند (PID) مشخص شود، پیام تنها به همان فرایند ارسال می‌شود.

message-type

نوع پیام ارسالی. برای جزئیات، بخش انواع پیام (MESSAGE-TYPES) را ببینید.

parameters

هرگونه پارامتر مورد نیاز برای message-type مشخص‌شده.

-?|--help

چاپ خلاصه‌ای از گزینه‌های خط فرمان.

--usage

نمایش پیام کوتاه نحوهٔ استفاده.

-d|--debuglevel=level

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

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

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

توجه داشته باشید که مشخص کردن این پارامتر در خط فرمان، پارامتر log level در فایل /etc/samba/smb.conf را لغو (override) خواهد کرد.

--debug-stdout

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

--configfile=<configuration file>;

فایل مشخص‌شده شامل جزئیات پیکربندی مورد نیاز کلاینت است. اطلاعات موجود در این فایل می‌تواند عمومی (برای کلاینت و سرور) باشد یا تنها گزینه‌های خاص کلاینت مانند client smb encrypt را فراهم کند. برای اطلاعات بیشتر /etc/samba/smb.conf را ببینید. نام پیش‌فرض فایل پیکربندی هنگام ساخت و کامپایل تعیین می‌شود.

--option=<name>=<value>

مقداردهی گزینهٔ "<name>" در smb.conf(5) به مقدار "<value>" از طریق خط فرمان. این کار مقادیر پیش‌فرض زمان کامپایل و گزینه‌های خوانده‌شده از فایل پیکربندی را بازنویسی می‌کند. اگر یک نام یا مقدار حاوی فاصله است، کل عبارت --option=name=value را داخل علامت نقل‌قول قرار دهید.

-l|--log-basename=logdirectory

نام دایرکتوری پایه برای فایل‌های گزارش/اشکال‌زدایی. پسوند ".progname" به انتهای آن افزوده خواهد شد (مانند log.smbclient، log.smbd و غیره). این فایل گزارش هرگز توسط کلاینت حذف نمی‌شود.

--leak-report

فعال‌سازی گزارش نشت حافظهٔ talloc هنگام خروج از برنامه.

--leak-report-full

فعال‌سازی گزارش کامل نشت حافظهٔ talloc هنگام خروج از برنامه.

-V|--version

چاپ شماره نسخهٔ برنامه.

انواع پیام‌های در دسترس عبارتند از:

close-share

دستور به smbd برای بستن اتصالات کلاینت به اشتراک (share) نام‌برده‌شده. توجه داشته باشید که این دستور اثری بر اتصالات کلاینت به سایر اشتراک‌ها ندارد. این message-type نام اشتراکی که باید اتصالات آن بسته شود را به عنوان آرگومان دریافت می‌کند، یا نویسهٔ "*" که تمام اشتراک‌های باز فعلی را می‌بندد. این ویژگی ممکن است زمانی که تغییراتی در کنترل‌های دسترسی اشتراک اعمال کرده‌اید مفید باشد. این پیام تنها می‌تواند به smbd ارسال شود.

close-denied-share

مانند close-share عمل می‌کند، با این تفاوت که کاربرانی را که هنوز مجاز به دسترسی به اشتراک هستند قطع نمی‌کند. می‌توان پس از تغییر کنترل‌های دسترسی اشتراک، آن را با اطمینان خاطر به تمام فرایندهای smbd ارسال کرد. این کار تنها کاربرانی را تحت تأثیر قرار می‌دهد که دسترسی آن‌ها پس از اتصال اولیه رد (denied) شده است. این پیام تنها می‌تواند به smbd ارسال شود.

debug

تنظیم سطح اشکال‌زدایی (debug level) به مقدار تعیین‌شده توسط پارامتر. این پیام را می‌توان به هر یک از مقاصد ارسال کرد. اگر این پیام به دیمن‌های smbd یا winbindd ارسال شود، فرایند والد پیام را مجدداً به تمامی فرایندهای فرزند ارسال می‌کند و سطح اشکال‌زدایی را در تک‌تک آن‌ها تغییر می‌دهد.

kill-client-ip

دستور به smbd برای بستن اتصالات کلاینت از یک آدرس IP مشخص. این message-type آدرس IP که اتصالات کلاینت از آن باید بسته شوند را به عنوان آرگومان دریافت می‌کند. این پیام تنها می‌تواند به smbd ارسال شود.

force-election

این پیام باعث می‌شود دیمن nmbd برگزاری یک انتخابات جدید برای browse master را اجبار کند.

ping

ارسال تعداد مشخصی از پیام‌های "ping" و انتظار برای دریافت همان تعداد پیام پاسخ "pong". این پیام را می‌توان به هر یک از مقاصد ارسال کرد.

profile

تغییر تنظیمات پروفایل یک دیمن بر اساس پارامتر ارائه‌شده. پارامتر می‌تواند "on" برای فعال کردن جمع‌آوری آمار پروفایل، "off" برای غیرفعال کردن جمع‌آوری آمار پروفایل، "count" برای فعال‌سازی فقط جمع‌آوری آمار شمارشی (آمارهای زمانی غیرفعال می‌شوند) و "flush" برای صفر کردن آمارهای فعلی پروفایل باشد. این پیام را می‌توان به مقاصد smbd یا nmbd ارسال کرد.

debuglevel

درخواست مقدار debuglevel از یک دیمن مشخص و چاپ آن در خروجی استاندارد (stdout). این پیام را می‌توان به هر یک از مقاصد ارسال کرد.

profilelevel

درخواست مقدار profilelevel از یک دیمن مشخص و چاپ آن در خروجی استاندارد (stdout). این پیام را می‌توان به مقاصد smbd یا nmbd ارسال کرد.

printnotify

دستور به smbd برای ارسال یک پیام اعلان چاپگر (printer notify) به تمام کلاینت‌های Windows NT متصل به یک چاپگر. این message-type آرگومان‌های زیر را می‌پذیرد:

queuepause printername

ارسال پیام اعلان توقف صف به چاپگر مشخص‌شده.

queueresume printername

ارسال پیام اعلان ازسرگیری صف برای چاپگر مشخص‌شده.

jobpause printername unixjobid

ارسال پیام اعلان توقف کار چاپ برای چاپگر و unixjobid مشخص‌شده.

jobresume printername unixjobid

ارسال پیام اعلان ازسرگیری کار چاپ برای چاپگر و unixjobid مشخص‌شده.

jobdelete printername unixjobid

ارسال پیام اعلان حذف کار چاپ برای چاپگر و unixjobid مشخص‌شده.

توجه داشته باشید که این پیام صرفاً اعلان رخ دادن یک رویداد را ارسال می‌کند و در عمل باعث رخ دادن فیزیکی آن رویداد نمی‌شود.

این پیام تنها می‌تواند به smbd ارسال شود.

dmalloc-mark

تنظیم یک نشانه برای dmalloc. می‌تواند به هر دو دیمن smbd و nmbd ارسال شود. تنها در صورتی فعال است که سامبا همراه با پشتیبانی از dmalloc ساخته شده باشد.

dmalloc-log-changed

تخلیه (dump) اشاره‌گرهایی که از زمان نشانه‌گذاری توسط dmalloc-mark تغییر کرده‌اند. می‌تواند به هر دو دیمن smbd و nmbd ارسال شود. تنها در صورتی فعال است که سامبا همراه با پشتیبانی از dmalloc ساخته شده باشد.

shutdown

خاموش کردن دیمن مشخص‌شده. می‌تواند به هر دو دیمن smbd و nmbd ارسال شود.

pool-usage

چاپ گزارشی خوانا برای انسان از تمام میزان مصرف حافظهٔ talloc(pool) توسط دیمن/فرایند مشخص‌شده. برای هر دو دیمن smbd و nmbd در دسترس است.

ringbuf-log

واکشی و چاپ گزارش ringbuf. نیازمند logging = ringbuf است. برای smbd، winbindd و nmbd در دسترس است.

drvupgrade

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

reload-config

مجبور کردن دیمن به بارگذاری مجدد فایل پیکربندی smb.conf. می‌تواند به smbd، nmbd یا winbindd ارسال شود.

reload-printers

مجبور کردن smbd به بازخوانی مجدد اطلاعات چاپگرها. تنها می‌تواند به smbd ارسال شود.

idmap

اعلان دربارهٔ تغییرات نگاشت شناسه (id mapping). می‌تواند به smbd یا (که هنوز پیاده‌سازی نشده است) winbindd ارسال شود.

flush [uid|gid]

تخلیه و پاک‌سازی حافظه‌های موقت (caches) مربوط به نگاشت‌های sid <-> gid و/یا sid <-> uid.

delete <ID>

حذف یک نگاشت از حافظهٔ موقت (cache). نگاشت با <ID> مشخص می‌شود که می‌تواند sid: S-x-...، یک gid: "GID number" یا یک uid: "UID number" باشد.

kill <ID>

حذف یک نگاشت از حافظهٔ موقت (cache). در صورتی که شناسه هم‌اکنون در حال استفاده باشد، فرایند smbd را خاتمه می‌دهد.

num-children

پرس‌وجوی تعداد فرایندهای فرزند smbd. این پیام تنها می‌تواند به smbd ارسال شود.

reload-certs

دستور به کارساز LDAP یک Samba AD DC برای بازخوانی مجدد گواهی‌های TLS که از اتصالات ldaps:// محافظت می‌کنند. این پیام تنها می‌تواند به ldap_server ارسال شود.

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

nmbd(8) و smbd(8).

نرم‌افزار اصلی Samba و ابزارهای مرتبط با آن توسط Andrew Tridgell ایجاد شده‌اند. امروزه Samba توسط تیم Samba Team به عنوان یک پروژهٔ متن‌باز، به شیوه‌ای مشابه روند توسعهٔ هستهٔ لینوکس، توسعه و نگهداری می‌شود.

08/16/2026 Samba 4.24.6