| SMBD(8) | ابزارهای مدیریت سیستم | SMBD(8) |
نام (NAME)
smbd - کارساز ارائه خدمات SMB/CIFS به کلاینتها
خلاصه دستور (SYNOPSIS)
smbd [-D|--daemon] [-i|--interactive] [-F|--foreground] [--no-process-group] [-b|--build-options] [-p <port number(s)>] [-P <profiling level>] [-d <debug level>] [--debug-stdout] [--configfile=<configuration file>] [--option=<name>=<value>] [-l|--log-basename <log directory>] [--leak-report] [--leak-report-full] [-V|--version]
شرح (DESCRIPTION)
این برنامه بخشی از مجموعه samba(7) است.
دستور smbd دیمن کارسازی است که خدمات اشتراک فایل و چاپ را به کلاینتهای Windows ارائه میدهد. این کارساز فضا برای فایلها و خدمات چاپگر را با استفاده از پروتکل SMB (یا CIFS) در اختیار کلاینتها میگذارد. این سازگار با پروتکل LanManager است و میتواند به کلاینتهای LanManager خدمات دهد. این موارد شامل MSCLIENT 3.0 برای DOS، Windows for Workgroups، Windows 95/98/ME، Windows NT، Windows 2000، OS/2، DAVE برای Macintosh و smbfs برای Linux هستند.
توضیحات گسترده درباره خدماتی که کارساز میتواند ارائه دهد در صفحه راهنمای فایل پیکربندی کنترلکننده ویژگیهای آن خدمات آمده است (ببینید smb.conf(5)). این صفحه راهنما به توصیف خدمات نمیپردازد، بلکه بر جنبههای مدیریتی اجرای کارساز تمرکز دارد.
لطفاً توجه داشته باشید اجرای این کارساز پیامدهای امنیتی مهمی دارد و خواندن صفحه راهنمای smb.conf(5) پیش از اقدام به نصب الزامی است.
هر زمان کلاینتی درخواست کند، یک نشست ایجاد میشود. هر کلاینت برای هر نشست یک رونوشت از کارساز دریافت میکند. این رونوشت سپس به تمام اتصالات برقرارشده توسط کلاینت در طول آن نشست خدماترسانی میکند. هنگامی که تمام اتصالات کلاینت بسته شوند، رونوشت کارساز مربوط به آن کلاینت خاتمه مییابد.
فایل پیکربندی و تمام فایلهای ضمیمهشده توسط آن، در صورت تغییر، هر سه دقیقه یکبار بهطور خودکار بازخوانی میشوند. میتوان با ارسال سیگنال SIGHUP به کارساز، بازخوانی اجباری انجام داد. بازخوانی فایل پیکربندی بر اتصالاتی که از قبل برقرار شدهاند تاثیری نخواهد گذاشت. کاربر یا باید اتصال خود را از سرویس قطع کند، یا باید smbd کشته و مجدداً راهاندازی شود.
بهجای ارسال سیگنال SIGHUP، درخواست بازخوانی فایل پیکربندی را میتوان با استفاده از برنامه smbcontrol(1) ارسال کرد.
گزینهها (OPTIONS)
-D|--daemon
-i|--interactive
-F|--foreground
--no-process-group
-b|--build-options
-p|--port<port number(s)>
پورتهای پیشفرض پورت 139 (مورد استفاده برای SMB روی NetBIOS روی TCP) و پورت 445 (مورد استفاده برای SMB مستقیم روی TCP) هستند.
-P|--profiling-level<profiling level>
-d|--debuglevel=level
هرچه این مقدار بالاتر باشد، جزئیات بیشتری درباره فعالیتهای کارساز در فایلهای لاگ ثبت خواهد شد. در سطح 0، تنها خطاهای بحرانی و هشدارهای جدی لاگ میشوند. سطح 1 سطحی معقول برای استفاده روزمره است؛ مقدار کمی اطلاعات درباره عملیات انجامشده تولید میکند.
سطوح بالاتر از 1 مقادیر قابلتوجهی داده لاگ تولید میکنند و فقط باید هنگام بررسی مشکلات استفاده شوند. سطوح بالاتر از 3 فقط برای استفاده توسعهدهندگان طراحی شدهاند و حجم عظیمی از داده لاگ تولید میکنند که اکثر آنها بسیار مبهم هستند.
توجه داشته باشید که تعیین این پارامتر در اینجا، پارامتر log level را در فایل /etc/samba/smb.conf بازنویسی (override) میکند.
--debug-stdout
--configfile=CONFIGFILE
--option=<name>=<value>
-l|--log-basename=logdirectory
--leak-report
--leak-report-full
-V|--version
-?|--help
--usage
فایلها (FILES)
/etc/inetd.conf
/etc/rc
اگر کارساز بهصورت دیمن هنگام راهاندازی سیستم اجرا میشود، این فایل باید شامل توالی راهاندازی مناسب برای کارساز باشد.
/etc/services
/usr/local/samba/lib/smb.conf
این فایل تمام خدماتی را که کارساز باید برای کلاینتها فراهم کند تشریح مینماید. برای اطلاعات بیشتر ببینید smb.conf(5).
محدودیتها (LIMITATIONS)
در برخی سیستمها smbd پس از فراخوانی setuid() نمیتواند uid را دوباره به root تغییر دهد. چنین سیستمهایی trapdoor uid نامیده میشوند. اگر چنین سیستمی دارید، نمیتوانید از یک کلاینت (مانند یک رایانه) همزمان بهعنوان دو کاربر مختلف متصل شوید. تلاش برای اتصال کاربر دوم به خطای access denied یا مشابه آن منجر میشود.
متغیرهای محیطی (ENVIRONMENT VARIABLES)
PRINTER
تعامل با PAM (PAM INTERACTION)
مجموعه Samba از PAM برای احراز هویت (هنگام دریافت رمز عبور متنساده)، برای بررسی حساب کاربری (آیا این حساب غیرفعال است؟) و برای مدیریت نشست استفاده میکند. میزان پشتیبانی samba از PAM با محدودیتهای پروتکل SMB و پارامتر obey pam restrictions در smb.conf(5) محدود میشود. هنگامی که این پارامتر تنظیم شده باشد، محدودیتهای زیر اعمال میشوند:
نسخه (VERSION)
این صفحه راهنما بخشی از نسخه 4.24.6 مجموعه نرمافزاری Samba است.
عیبیابی (DIAGNOSTICS)
بیشتر پیامهای عیبیابی صادرشده توسط کارساز در یک فایل لاگ مشخص ثبت میشوند. نام فایل لاگ در زمان کامپایل مشخص میشود، اما میتوان آن را از طریق خط فرمان بازنویسی کرد.
تعداد و ماهیت پیامهای عیبیابی موجود بستگی به سطح اشکالزدایی (debug level) مورد استفاده کارساز دارد. اگر با مشکلی مواجه شدید، سطح اشکالزدایی را روی 3 تنظیم کنید و فایلهای لاگ را به دقت بررسی نمایید.
بیشتر پیامها تا حد معقولی خودتوضیح هستند. متاسفانه در زمان تهیه این صفحه راهنما، تعداد پیامهای عیبیابی موجود در کد منبع بسیار بیشتر از آن است که توصیف تکتک آنها توجیهپذیر باشد. در این مرحله بهترین راهکار جستجوی grep در کد منبع و بررسی شرایطی است که منجر به صدور پیام عیبیابی مشاهدهشده شدهاند.
فایلهای TDB (TDB FILES)
سامبا دادههای خود را در چندین فایل TDB (پایگاهداده ساده / Trivial Database) نگهداری میکند که معمولاً در /var/lib/samba قرار دارند.
(*) اطلاعاتی که پس از راهاندازی مجدد حفظ میشوند (اما لزوماً پشتیبانگیری از آنها ضروری نیست).
account_policy.tdb*
brlock.tdb
browse.dat
gencache.tdb
group_mapping.tdb*
locking.tdb
login_cache.tdb*
messages.tdb
netsamlogon_cache.tdb*
ntdrivers.tdb*
ntforms.tdb*
ntprinters.tdb*
printing/
registry.tdb
smbXsrv_session_global.tdb
smbXsrv_tcon_global.tdb
smbXsrv_open_global.tdb
share_info.tdb*
winbindd_cache.tdb
winbindd_idmap.tdb*
wins.dat*
سیگنالها (SIGNALS)
ارسال سیگنال SIGHUP به smbd سبب میشود در مدت کوتاهی فایل پیکربندی smb.conf خود را دوباره بارگذاری کند.
برای متوقف کردن فرایند smbd یک کاربر، توصیه میشود که از SIGKILL (-9) استفاده نشود، مگر بهعنوان آخرین راهحل؛ چرا که ممکن است ناحیه حافظه مشترک را در وضعیتی ناپایدار باقی بگذارد. روش امن برای متوقف ساختن یک smbd ارسال سیگنال SIGTERM (-15) به آن و منتظر ماندن برای خاموش شدن خودبهخودی آن است.
سطح لاگ اشکالزدایی smbd را میتوان با استفاده از برنامه smbcontrol(1) افزایش یا کاهش داد (سیگنالهای SIGUSR[1|2] از نسخه Samba 2.2 دیگر استفاده نمیشوند). این امکان برای بررسی مشکلات گذرا در حالی که هنوز در سطح لاگ پایین عادی اجرا میشود در نظر گرفته شده است.
توجه داشته باشید از آنجا که گردانندههای سیگنال یک عملیات نوشتن اشکالزدایی ارسال میکنند، در smbd قابلیت ورود مجدد (re-entrant) ندارند. از این رو پیش از ارسال آنها باید منتظر بمانید تا smbd در حالت انتظار برای یک بسته ورودی SMB قرار گیرد. ایمنسازی گردانندههای سیگنال با رفع انسداد سیگنالها قبل از فراخوانی select و مسدودسازی مجدد آنها پس از آن امکانپذیر است، اما این کار بر عملکرد تأثیر منفی میگذارد.
همچنین ببینید (SEE ALSO)
hosts_access(5), inetd(8), nmbd(8), smb.conf(5), smbclient(1), testparm(1), و RFCهای اینترنتی rfc1001.txt, rfc1002.txt. علاوه بر این، مشخصات CIFS (سابقاً SMB) بهصورت پیوندی از صفحه وب زیر در دسترس است: https://www.samba.org/cifs.
نویسنده (AUTHOR)
نرمافزار اصلی Samba و ابزارهای مرتبط توسط Andrew Tridgell ایجاد شدهاند. Samba اکنون توسط Samba Team بهعنوان پروژهای متنباز، مشابه روش توسعه هسته لینوکس، توسعه مییابد.
| 08/16/2026 | Samba 4.24.6 |