SAMBA(8) ابزارهای مدیریت سیستم SAMBA(8)

samba - کارساز برای ارائه خدمات AD و SMB/CIFS به کلاینت‌ها

samba [-D|--daemon] [-F|--foreground] [-i|--interactive] [-M|--model=MODEL] [--maximum-runtime=seconds] [-b|--show-build] [--no-process-group] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] [--configfile=CONFIGFILE] [--option=name=value] [-l|--log-basename=LOGFILEBASE] [--leak-report] [--leak-report-full] [-V|--version]

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

دستور samba دیمن کارسازی است که خدمات اکتیو دایرکتوری (Active Directory)، اشتراک فایل و چاپ را به کلاینت‌ها ارائه می‌دهد. این کارساز فضا برای فایل‌ها و خدمات دایرکتوری را با استفاده از پروتکل SMB (یا CIFS) و سایر پروتکل‌های مرتبط مانند DCE/RPC، LDAP و Kerberos در اختیار کلاینت‌ها می‌گذارد.

کلاینت‌های پشتیبانی‌شده شامل MSCLIENT 3.0 برای DOS، Windows for Workgroups، Windows 95/98/ME، Windows NT، Windows 2000/XP/2003، OS/2، DAVE برای Macintosh و cifsfs برای Linux هستند.

توضیحات گسترده درباره خدماتی که کارساز می‌تواند ارائه دهد در صفحه راهنمای فایل پیکربندی کنترل‌کننده ویژگی‌های آن خدمات آمده است (ببینید smb.conf(5)). این صفحه راهنما به توصیف خدمات نمی‌پردازد، بلکه بر جنبه‌های مدیریتی اجرای کارساز تمرکز دارد.

لطفاً توجه داشته باشید که اجرای این کارساز پیامدهای امنیتی مهمی دارد و خواندن صفحه راهنمای smb.conf(5) پیش از اقدام به نصب الزامی است.

-D|--daemon

در صورت تعیین، این پارامتر سبب می‌شود کارساز به‌صورت یک دیمن عمل کند. یعنی از ترمینال جدا شده و در پس‌زمینه اجرا می‌شود و درخواست‌ها را روی پورت‌های مناسب دریافت می‌کند. اجرای کارساز به‌صورت دیمن، روش توصیه‌شده برای اجرای samba در کارسازهایی است که خدماتی بیش از کاربرد تفننی فایل و چاپ ارائه می‌دهند. اگر samba از خط فرمان شل اجرا شود، این سوییچ پیش‌فرض فرض می‌شود.

-F|--foreground

در صورت تعیین، این پارامتر موجب می‌شود فرایند samba دیمن نشود؛ یعنی double-fork انجام نداده و از ترمینال جدا نشود.

-i|--interactive

اگر این پارامتر مشخص شود، کارساز به‌صورت «تعاملی» اجرا می‌شود و نه به‌صورت دیمن، حتی اگر در خط فرمان شل اجرا شده باشد. تنظیم این پارامتر حالت ضمنی دیمن هنگام اجرا از خط فرمان را لغو می‌کند. samba همچنین پیام‌ها را در خروجی استاندارد ثبت می‌کند، مشابه حالتی که پارامتر -S داده شده باشد.

-M|--model

از این پارامتر می‌توان برای تعیین «مدل فرایند» (process model) مورد استفاده توسط samba استفاده کرد. این گزینه نحوه رسیدگی به کلاینت‌های همزمان را مشخص می‌کند. مدل‌های فرایند موجود شامل موارد زیر هستند:
•single

تمام خدمات Samba در یک فرایند واحد اجرا می‌شوند. این مدل برای پیکربندی‌های محیط عملیاتی (production) توصیه نمی‌شود.

•standard

برای هر سرویس Samba یک فرایند ایجاد می‌شود و برای آن دسته از خدماتی که از آن پشتیبانی می‌کنند (در حال حاضر تنها LDAP و NETLOGON)، به ازای هر اتصال کلاینت جدید یک فرایند تازه آغاز می‌گردد.

از نظر تاریخی، این روش «استاندارد» رفتار Samba تا نسخه 4.10 بود. توجه داشته باشید در صورتی که تعداد زیادی اتصال کلاینت داشته باشید، این مدل می‌تواند منابع زیادی مصرف کند.

•prefork

حالت پیش‌فرض. برای هر سرویس Samba یک فرایند آغاز می‌شود و تعداد ثابتی فرایند کارگر (worker) برای خدماتی که از آن پشتیبانی می‌کنند (در حال حاضر LDAP، NETLOGON و KDC) راه‌اندازی می‌گردد. اتصالات کلاینت سپس میان فرایندهای کارگر به اشتراک گذاشته می‌شوند. درخواست‌های مربوط به خدماتی که از prefork پشتیبانی نمی‌کنند توسط یک فرایند تکی برای آن سرویس مدیریت می‌شوند.

تعداد فرایندهای کارگر prefork راه‌اندازی‌شده توسط پارامتر prefork children در smb.conf(5) کنترل می‌شود که مقدار پیش‌فرض آن 4 است.

--maximum-runtime=seconds

حداکثر زمان اجرای فرایند کارساز را تا خاتمه خودکار بر حسب ثانیه تنظیم می‌کند.

-b|--show-build

اطلاعات مربوط به نحوه ساخت و کامپایل Samba را چاپ می‌کند.

-d|--debuglevel=level

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

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

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

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

--debug-stdout

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

--configfile=CONFIGFILE

فایل مشخص‌شده شامل جزئیات پیکربندی مورد نیاز کارساز است. اطلاعات موجود در این فایل شامل اطلاعات ویژه کارساز مانند فایل printcap مورد استفاده و همچنین شرح تمام خدماتی است که کارساز باید ارائه دهد. برای اطلاعات بیشتر ببینید /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

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

-?|--help

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

--usage

پیام کوتاهی درباره نحوه استفاده نمایش می‌دهد.

/etc/rc

یا هر اسکریپت راه‌اندازی اولیه دیگری که سیستم شما استفاده می‌کند.

در صورت اجرای کارساز به‌صورت یک دیمن هنگام راه‌اندازی سیستم، این فایل باید شامل توالی راه‌اندازی مناسب برای کارساز باشد.

/etc/services

اگر کارساز از طریق متا-دیمن inetd اجرا می‌شود، این فایل باید حاوی نگاشت نام سرویس (مانند netbios-ssn) به پورت سرویس (مانند 139) و نوع پروتکل (مانند tcp) باشد.

/usr/local/samba/lib/smb.conf

این مسیر پیش‌فرض فایل پیکربندی کارساز smb.conf(5) است. سایر مکان‌های رایجی که سیستم‌ها این فایل را در آن نصب می‌کنند شامل /usr/samba/lib/smb.conf و /etc/samba/smb.conf است.

این فایل تمام خدماتی را که کارساز باید در دسترس کلاینت‌ها قرار دهد شرح می‌دهد. برای اطلاعات بیشتر ببینید smb.conf(5).

بیشتر پیام‌های عیب‌یابی صادرشده توسط کارساز در یک فایل لاگ مشخص ثبت می‌شوند. نام فایل لاگ هنگام کامپایل تعیین می‌شود، اما می‌توان آن را از طریق خط فرمان تغییر داد.

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

بیشتر پیام‌ها تا حد معقولی خودتوضیح هستند. متأسفانه در زمان نگارش این صفحه راهنما، پیام‌های عیب‌یابی بسیار زیادی در کد منبع وجود دارد که توصیف تک‌تک آن‌ها ممکن نیست. در این مرحله، بهترین راهکار همچنان جستجو (grep) در کد منبع و بررسی شرایطی است که باعث ایجاد پیام‌های عیب‌یابی مشاهده‌شده شده‌اند.

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

hosts_access(5), smb.conf(5), smbclient(8), samba-tool(8), smbd(8), nmbd(8), winbindd(1) و RFCهای اینترنتی rfc1001.txt, rfc1002.txt. علاوه بر این، مشخصات CIFS (سابقاً SMB) به‌صورت پیوندی از صفحه وب زیر در دسترس است: https://www.samba.org/cifs.

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

08/16/2026 Samba 4.24.6