'\" t .\" Title: ntlm_auth .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 08/16/2026 .\" Manual: User Commands .\" Source: Samba 4.24.6 .\" Language: English .\" .TH "NTLM_AUTH" "1" "08/16/2026" "Samba 4\&.24\&.6" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" ntlm_auth \- ابزاری برای فراهم کردن امکان دسترسی خارجی به تابع احراز هویت NTLM در Winbind .SH "خلاصه دستور (SYNOPSIS)" .HP \w'\ 'u ntlm_auth .SH "توضیحات (DESCRIPTION)" .PP این ابزار بخشی از مجموعهٔ \fBsamba\fR(7) است\&. .PP ابزار ntlm_auth یک ابزار کمکی است که کاربران را با استفاده از احراز هویت NT/LM تأیید اعتبار می‌کند\&. در صورتی که کاربر با موفقیت احراز هویت شود مقدار 0 و در صورت رد دسترسی مقدار 1 را برمی‌گرداند\&. ابزار ntlm_auth از winbind برای دسترسی به داده‌های کاربر و احراز هویت یک دامنه استفاده می‌کند\&. این ابزار فقط برای استفاده توسط سایر برنامه‌ها (در حال حاضر Squid و mod_ntlm_winbind) طراحی شده است\&. .SH "الزامات عملیاتی (OPERATIONAL REQUIREMENTS)" .PP برای کارکرد بسیاری از این دستورات، دیمن \fBwinbindd\fR(8) باید در حال اجرا باشد\&. .PP برخی از این دستورات همچنین نیازمند دسترسی به دایرکتوری winbindd_privileged در $LOCKDIR هستند\&. این کار باید با اجرای دستور به عنوان کاربر ریشه (root) یا اعطای دسترسی گروهی به دایرکتوری winbindd_privileged انجام شود\&. به دلایل امنیتی، این دایرکتوری نباید برای همگان قابل دسترس باشد\&. .SH "گزینه‌ها (OPTIONS)" .PP \-\-helper\-protocol=PROTO .RS 4 عملکرد به عنوان یک ابزار کمکی مبتنی بر stdio\&. پروتکل‌های کمکی معتبر عبارتند از: .PP squid\-2\&.4\-basic .RS 4 ابزار کمکی سمت سرور برای استفاده با احراز هویت اولیه (متن خام) در Squid 2\&.4\&. .RE .PP squid\-2\&.5\-basic .RS 4 ابزار کمکی سمت سرور برای استفاده با احراز هویت اولیه (متن خام) در Squid 2\&.5\&. .RE .PP squid\-2\&.5\-ntlmssp .RS 4 ابزار کمکی سمت سرور برای استفاده با احراز هویت NTLMSSP در Squid 2\&.5\&. .sp نیازمند دسترسی به دایرکتوری winbindd_privileged در $LOCKDIR است\&. پروتکل مورد استفاده در اینجا شرح داده شده است: http://devel\&.squid\-cache\&.org/ntlm/squid_helper_protocol\&.html\&. این پروتکل گسترش یافته است تا بستهٔ NTLMSSP Negotiate بتواند به عنوان آرگومان به دستور YR ارسال شود (و بدین ترتیب از دست رفتن اطلاعات در تبادل پروتکل جلوگیری شود)\&. .RE .PP ntlmssp\-client\-1 .RS 4 ابزار کمکی سمت کلاینت برای استفاده با برنامه‌های خارجی دلخواهی که ممکن است مایل به استفاده از دانش احراز هویت NTLMSSP در Samba باشند\&. .sp این ابزار کمکی از نوع کلاینت است و به همین دلیل می‌تواند توسط هر کاربری اجرا شود\&. پروتکل مورد استفاده در واقع معکوس پروتکل قبلی است\&. یک دستور YR (بدون هیچ آرگومانی) تبادل احراز هویت را آغاز می‌کند\&. .RE .PP gss\-spnego .RS 4 ابزار کمکی سمت سرور که GSS\-SPNEGO را پیاده‌سازی می‌کند\&. این ابزار از پروتکلی استفاده می‌کند که تقریباً مشابه با squid\-2\&.5\-ntlmssp است، اما تفاوت‌های ظریفی دارد که در این مرحله در خارج از کد منبع مستند نشده‌اند\&. .sp نیازمند دسترسی به دایرکتوری winbindd_privileged در $LOCKDIR است\&. .RE .PP gss\-spnego\-client .RS 4 ابزار کمکی سمت کلاینت که GSS\-SPNEGO را پیاده‌سازی می‌کند\&. این ابزار نیز از پروتکلی مشابه ابزارهای کمکی بالا استفاده می‌کند، اما در حال حاضر مستند نشده است\&. .RE .PP ntlm\-server\-1 .RS 4 پروتکل کمکی سمت سرور، طراحی‌شده برای استفاده توسط یک سرور RADIUS یا پلاگین \*(Aqwinbind\*(Aq برای pppd، به منظور ارائهٔ احراز هویت MSCHAP و MSCHAPv2\&. .sp این پروتکل شامل خطوطی به این صورت است: Parameter: value و Parameter:: Base64\-encode value\&. وجود یک نقطهٔ منفرد \&. نشان می‌دهد که یک طرف ارسال داده به طرف دیگر را به پایان رسانده است (که به نوبهٔ خود می‌تواند باعث شود ابزار کمکی کاربر را احراز هویت کند)\&. .sp پارامترهای پیاده‌سازی‌شدهٔ کنونی از برنامهٔ خارجی به ابزار کمکی عبارتند از: .PP Username .RS 4 نام کاربری، که انتظار می‌رود در \m[blue]\fBunix charset\fR\m[] سامبا باشد\&. .PP مثال‌ها: .RS 4 Username: bob .sp Username:: Ym9i .RE .RE .PP NT\-Domain .RS 4 دامنهٔ کاربر، که انتظار می‌رود در \m[blue]\fBunix charset\fR\m[] سامبا باشد\&. .PP مثال‌ها: .RS 4 NT\-Domain: WORKGROUP .sp NT\-Domain:: V09SS0dST1VQ .RE .RE .PP Full\-Username .RS 4 نام کاربری کامل، که انتظار می‌رود در \m[blue]\fBunix charset\fR\m[] سامبا باشد و با \m[blue]\fBwinbind separator\fR\m[] مشخص شده باشد\&. .PP مثال‌ها: .RS 4 Full\-Username: WORKGROUP\ebob .sp Full\-Username:: V09SS0dST1VQYm9i .RE .RE .PP LANMAN\-Challenge .RS 4 مقدار ۸ بایتی LANMAN Challenge که به طور تصادفی توسط سرور تولید می‌شود، یا (در مواردی مانند MSCHAPv2) به نحوی توسط هر دو طرف سرور و کلاینت تولید می‌گردد\&. .PP مثال‌ها: .RS 4 LANMAN\-Challenge: 0102030405060708 .RE .RE .PP LANMAN\-Response .RS 4 مقدار ۲۴ بایتی LANMAN Response که از گذرواژهٔ کاربر و LANMAN Challenge ارائه‌شده محاسبه می‌شود\&. به طور معمول، این مقدار از طریق شبکه توسط کلاینتی که مایل به احراز هویت است ارائه می‌گردد\&..PP مثال‌ها: .RS 4 LANMAN\-Response: 0102030405060708090A0B0C0D0E0F101112131415161718 .RE .RE .PP NT\-Response .RS 4 مقدار >= 24 بایت NT Response که از گذرواژهٔ کاربر و LANMAN Challenge ارائه‌شده محاسبه می‌شود\&. به‌طور معمول، این مقدار از طریق شبکه توسط کلاینتی که قصد احراز هویت دارد، ارائه می‌گردد\&. .PP مثال‌ها: .RS 4 NT\-Response: 0102030405060708090A0B0C0D0E0F10111213141516171 .RE .RE .PP Password .RS 4 گذرواژهٔ کاربر\&. اگر helper در شرایطی قدیمی (legacy) استفاده شود که گذرواژه‌های متن‌ساده را به این شیوه آشکار می‌سازد، این مقدار توسط کلاینت شبکه ارائه خواهد شد\&. .PP مثال‌ها: .RS 4 Password: samba2 .sp Password:: c2FtYmEy .RE .RE .PP Request\-User\-Session\-Key .RS 4 پس از احراز هویت موفق، کلید نشست کاربر (user session key) مرتبط با ورود را بازمی‌گرداند\&. .PP مثال‌ها: .RS 4 Request\-User\-Session\-Key: Yes .RE .RE .PP Request\-LanMan\-Session\-Key .RS 4 پس از احراز هویت موفق، کلید نشست LANMAN مرتبط با ورود را بازمی‌گرداند\&. .PP مثال‌ها: .RS 4 Request\-LanMan\-Session\-Key: Yes .RE .RE .RE .sp .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBهشدار\fR .ps -1 .br توسعه‌دهندگان و پیاده‌سازان باید دقت کنند که هر داده‌ای (مانند نام‌های کاربری/گذرواژه‌ها) را که ممکن است حاوی داده‌های مخرب کاربر باشد، مانند نویسهٔ خط جدید (newline)، به‌صورت base64 کدگذاری نمایند\&. آن‌ها همچنین ممکن است نیاز داشته باشند رشته‌های دریافتی از helper را که ممکن است به همین ترتیب با base64 کدگذاری شده باشند، رمزگشایی کنند\&. .sp .5v .RE .RE .PP \-\-username=USERNAME .RS 4 تعیین نام کاربری کاربر برای احراز هویت .RE .PP \-\-domain=DOMAIN .RS 4 تعیین دامنهٔ کاربر برای احراز هویت .RE .PP \-\-workstation=WORKSTATION .RS 4 تعیین ایستگاه کاری (workstation) که کاربر از آن احراز هویت شده است .RE .PP \-\-challenge=STRING .RS 4 چالش NTLM (به‌صورت هگزادسیمال \- HEXADECIMAL) .RE .PP \-\-lm\-response=RESPONSE .RS 4 پاسخ LM به چالش (به‌صورت هگزادسیمال \- HEXADECIMAL) .RE .PP \-\-nt\-response=RESPONSE .RS 4 پاسخ NT یا NTLMv2 به چالش (به‌صورت هگزادسیمال \- HEXADECIMAL) .RE .PP \-\-password=PASSWORD .RS 4 گذرواژهٔ متن‌سادهٔ کاربر .sp اگر در خط فرمان مشخص نشود، در صورت نیاز درخواست خواهد شد\&. .sp برای نقش‌های سرور مبتنی بر NTLMSSP، این پارامتر گذرواژهٔ مورد انتظار را مشخص می‌کند، و امکان آزمایش را بدون فعال بودن winbindd فراهم می‌سازد\&. .RE .PP \-\-request\-lm\-key .RS 4 دریافت کلید نشست LM .RE .PP \-\-request\-nt\-key .RS 4 درخواست کلید NT .RE .PP \-\-diagnostics .RS 4 انجام عیب‌یابی روی زنجیرهٔ احراز هویت\&. از گذرواژهٔ مشخص‌شده در \-\-password استفاده می‌کند یا برای وارد کردن آن اعلان نمایش می‌دهد\&. .RE .PP \-\-require\-membership\-of={SID|Name} .RS 4 برای موفقیت‌آمیز بودن احراز هویت، کاربر باید حتماً عضو گروه مشخص‌شده (نام یا SID) باشد\&. .RE .PP \-\-pam\-winbind\-conf=FILENAME .RS 4 تعیین مسیر فایل pam_winbind\&.conf\&. .RE .PP \-\-target\-hostname=HOSTNAME .RS 4 تعیین نام میزبان هدف\&. .RE .PP \-\-target\-service=SERVICE .RS 4 تعیین سرویس هدف\&. .RE .PP \-\-use\-cached\-creds .RS 4 تعیین این که آیا از اطلاعات هویتی (اعتبارنامه‌های) کش‌شده توسط winbindd استفاده شود یا خیر\&. .RE .PP \-\-allow\-mschapv2 .RS 4 اجازه دادن صریح به MSCHAPv2\&. .RE .PP \-\-offline\-logon .RS 4 مجاز شمردن ورودهای برون‌خط (offline) برای احراز هویت متن‌ساده\&. .RE .PP \-?|\-\-help .RS 4 چاپ خلاصه‌ای از گزینه‌های خط فرمان\&. .RE .PP \-\-usage .RS 4 نمایش پیام کوتاه نحوهٔ استفاده\&. .RE .PP \-d|\-\-debuglevel=level .RS 4 \fIlevel\fR یک عدد صحیح از 0 تا 10 است\&. مقدار پیش‌فرض برای برنامه‌های کلاینت در صورتی که این پارامتر مشخص نشود، 1 است\&. .sp هرچه این مقدار بالاتر باشد، جزئیات بیشتری دربارهٔ فعالیت‌های سرور در فایل‌های گزارش ثبت خواهد شد\&. در سطح 0، تنها خطاهای حیاتی و هشدارهای جدی ثبت خواهند شد\&. سطح 1 سطحی معقول برای اجرای روزمره است \- مقدار اندکی اطلاعات دربارهٔ عملیات‌های انجام‌شده تولید می‌کند\&. .sp سطوح بالاتر از 1 حجم قابل توجهی از داده‌های گزارش را تولید می‌کنند و تنها باید هنگام بررسی یک مشکل استفاده شوند\&. سطوح بالاتر از 3 فقط برای استفادهٔ توسعه‌دهندگان طراحی شده‌اند و حجم عظیمی از داده‌های گزارش تولید می‌کنند که اغلب آن‌ها بسیار پیچیده و ناخوانا هستند\&. .sp توجه داشته باشید که مشخص کردن این پارامتر در اینجا، پارامتر \m[blue]\fBlog level\fR\m[] را در فایل /etc/samba/smb\&.conf بازنویسی خواهد کرد\&. .RE.PP \-\-debug\-stdout .RS 4 این گزینه خروجی اشکال‌زدایی را به STDOUT هدایت می‌کند\&. به‌طور پیش‌فرض تمام کلاینت‌ها وقایع را در STDERR ثبت می‌کنند\&. .RE .PP \-\-configfile= .RS 4 فایل مشخص‌شده حاوی جزئیات پیکربندی مورد نیاز کلاینت است\&. اطلاعات موجود در این فایل می‌تواند عمومی (برای کلاینت و سرور) باشد یا تنها گزینه‌های مختص کلاینت مانند \m[blue]\fBclient smb encrypt\fR\m[] را فراهم کند\&. برای اطلاعات بیشتر /etc/samba/smb\&.conf را ببینید\&. نام پیش‌فرض فایل پیکربندی در زمان کامپایل تعیین می‌شود\&. .RE .PP \-\-option== .RS 4 گزینهٔ "" در \fBsmb.conf\fR(5) را از خط فرمان روی مقدار "" تنظیم می‌کند\&. این کار پیش‌فرض‌های زمان کامپایل و گزینه‌های خوانده‌شده از فایل پیکربندی را بازنویسی می‌کند\&. اگر یک نام یا مقدار حاوی فاصله است، کل \-\-option=name=value را داخل علامت نقل‌قول قرار دهید\&. .RE .PP \-V|\-\-version .RS 4 شماره نسخهٔ برنامه را چاپ می‌کند\&. .RE .SH "راه‌اندازی نمونه (EXAMPLE SETUP)" .PP برای راه‌اندازی ntlm_auth جهت استفاده توسط squid 2\&.5، هم با احراز هویت basic و هم NTLMSSP، موارد زیر باید در فایل squid\&.conf قرار داده شوند\&. .sp .if n \{\ .RS 4 .\} .nf auth_param ntlm program ntlm_auth \-\-helper\-protocol=squid\-2\&.5\-ntlmssp auth_param basic program ntlm_auth \-\-helper\-protocol=squid\-2\&.5\-basic auth_param basic children 5 auth_param basic realm Squid proxy\-caching web server auth_param basic credentialsttl 2 hours .fi .if n \{\ .RE .\} .if n \{\ .sp .\} .RS 4 .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBنکته\fR .ps -1 .br .PP این مثال فرض می‌کند که ntlm_auth در مسیر (PATH) شما نصب شده است و مجوزهای گروهی روی winbindd_privileged همان‌طور که در بالا شرح داده شد، تنظیم شده‌اند\&. .sp .5v .RE .PP برای راه‌اندازی ntlm_auth جهت استفاده توسط squid 2\&.5 با محدودیت گروهی، علاوه بر مثال بالا، موارد زیر باید به فایل squid\&.conf اضافه شوند\&. .sp .if n \{\ .RS 4 .\} .nf auth_param ntlm program ntlm_auth \-\-helper\-protocol=squid\-2\&.5\-ntlmssp \-\-require\-membership\-of=\*(AqWORKGROUP\eDomain Users\*(Aq auth_param basic program ntlm_auth \-\-helper\-protocol=squid\-2\&.5\-basic \-\-require\-membership\-of=\*(AqWORKGROUP\eDomain Users\*(Aq .fi .if n \{\ .RE .\} .SH "عیب‌یابی (TROUBLESHOOTING)" .PP اگر در احراز هویت Internet Explorer اجراشده تحت MS Windows 9X یا Millennium Edition در برابر هلپر احراز هویت NTLMSSP متعلق به ntlm_auth (\-\-helper\-protocol=squid\-2\&.5\-ntlmssp) با مشکل مواجه شدید، لطفاً مقالهٔ شماره ۲۳۹۸۶۹ در Microsoft Knowledge Base را مطالعه کرده و دستورالعمل‌های شرح‌داده‌شده در آن را دنبال کنید\&..SH "نسخه (VERSION)" .PP این صفحهٔ راهنما بخشی از نسخهٔ 4\&.24\&.6 از مجموعهٔ Samba است\&. .SH "نویسنده (AUTHOR)" .PP نرم‌افزار اصلی Samba و ابزارهای مرتبط با آن توسط Andrew Tridgell ایجاد شدند\&. Samba اکنون توسط Samba Team به‌صورت یک پروژهٔ متن‌باز، مشابه شیوهٔ توسعهٔ هستهٔ Linux، توسعه داده می‌شود\&. .PP صفحهٔ راهنمای ntlm_auth توسط Jelmer Vernooij و Andrew Bartlett نوشته شده است\&.