TESTPARM(1) User Commands TESTPARM(1)

testparm - بررسی درستی داخلی فایل پیکربندی smb.conf

testparm [-s|--suppress-prompt] [-v|--verbose] [-?|--help] [--usage] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] {config filename} [hostname hostIP]

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

دستور testparm یک برنامهٔ آزمایشی بسیار ساده برای بررسی صحت داخلی یک فایل پیکربندی smbd(8) است. اگر این برنامه هیچ مشکلی گزارش نکند، می‌توانید با اطمینان از این فایل پیکربندی استفاده کنید که smbd آن را با موفقیت بارگذاری خواهد کرد.

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

اگر نام میزبان (hostname) و نشانی IP اختیاری میزبان در خط فرمان مشخص شده باشند، این برنامهٔ آزمایشی ورودی‌های سرویس را بررسی کرده و گزارش می‌دهد که آیا میزبان مشخص‌شده به هر یک از سرویس‌ها دسترسی دارد یا خیر.

اگر testparm خطایی در فایل smb.conf پیدا کند، کد خروج ۱ را به برنامهٔ فراخوان بازمی‌گرداند، در غیر این صورت کد خروج ۰ برگردانده می‌شود. این ویژگی به اسکریپت‌های شل اجازه می‌دهد تا خروجی testparm را بررسی و ارزیابی کنند.

-s|--suppress-prompt

بدون این گزینه، testparm پس از چاپ نام سرویس‌ها و پیش از نمایش تعاریف سرویس، منتظر فشردن کلید اینتر (carriage return) می‌ماند.

-v|--verbose

در صورت مشخص شدن این گزینه، testparm همچنین تمام گزینه‌هایی را که در smb.conf(5) استفاده نشده‌اند و در نتیجه روی مقادیر پیش‌فرضشان تنظیم هستند، در خروجی نمایش می‌دهد.

--parameter-name parametername

پارامتر مشخص‌شده با نام parametername را نمایش می‌دهد. اگر هیچ بخش‌نامی (section-name) تعیین نشده باشد، نمایش به‌طور پیش‌فرض به بخش global محدود می‌شود. همچنین امکان استخراج یک گزینهٔ پارامتری وجود دارد؛ برای این منظور گزینه باید با یک دونقطه (:) از parametername جدا شود.

--section-name sectionname

بخش مشخص‌شده با نام sectionname را در خروجی نمایش می‌دهد.

--show-all-parameters

پارامترها، نوع و مقادیر ممکن آن‌ها را نمایش می‌دهد.

-l|--skip-logic-checks

بررسی‌های سراسری (global checks) را نادیده می‌گیرد.

-?|--help

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

--usage

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

-d|--debuglevel=level

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

هرچه این مقدار بیشتر باشد، جزئیات بیشتری دربارهٔ فعالیت‌های سرور در فایل‌های لاگ ثبت خواهد شد. در سطح 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>

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

-V|--version

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

configfilename

نام فایل پیکربندی است که باید بررسی شود. اگر این پارامتر ارائه نشود، فایل پیش‌فرض smb.conf(5) بررسی خواهد شد.

hostname

اگر این پارامتر و پارامتر بعدی مشخص شوند، آن‌گاه testparm پارامترهای hosts allow و hosts deny را در فایل smb.conf(5) بررسی می‌کند تا مشخص کند آیا hostname با این نشانی IP اجازهٔ دسترسی به سرور smbd را دارد یا خیر. در صورت ارائهٔ این پارامتر، پارامتر hostIP نیز باید ارائه شود.

hostIP

نشانی IP میزبانی است که در پارامتر قبلی مشخص شده است. در صورت ارائهٔ پارامتر hostname، ارائهٔ این نشانی نیز الزامی است.

smb.conf(5)

معمولاً این نام فایل پیکربندی مورد استفاده توسط smbd(8) است.

این برنامه پیامی صادر می‌کند که نشان می‌دهد آیا فایل پیکربندی با موفقیت بارگذاری شد یا خیر. اگر فایل بارگذاری نشود، ممکن است این پیام با خطاها و هشدارها همراه باشد. اگر فایل با موفقیت بارگذاری شود، برنامه تمام جزئیات سرویس‌های شناخته‌شده را در stdout نمایش می‌دهد.

در سناریوهای کاربردی خاص، پروتکل SMB نیازمند استفاده از الگوریتم‌های رمزنگاری است که به عنوان الگوریتم‌های ضعیف شناخته شده و قبلاً شکسته شده‌اند. رمزهای DES و ARCFOUR (RC4) و الگوریتم‌های درهم‌سازی SHA1 و MD5 ضعیف تلقی می‌شوند، اما برای سازگاری با نسخه‌های قبلی مورد نیاز هستند. ابزار testparm نشان می‌دهد که آیا ابزارهای Samba در صورتی که استفاده از رمزنگاری قوی به طور پیش‌فرض ممکن نباشد، به این الگوریتم‌های رمزنگاری ضعیف بازگشت (fallback) خواهند کرد یا خیر. در حالت FIPS رمزنگاری ضعیف نمی‌تواند فعال شود.

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

smb.conf(5), smbd(8)

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

08/16/2026 Samba 4.24.6