nslcd.conf(5) System Manager's Manual nslcd.conf(5)

nslcd.conf - پرونده پیکربندی دیمن سرویس نام LDAP

بسته nss-pam-ldapd امکان استفاده از سرورهای دایرکتوری LDAP را به عنوان منبع اصلی اطلاعات سرویس نام فراهم می‌کند. (اطلاعات سرویس نام معمولاً شامل کاربران، میزبان‌ها، گروه‌ها و دیگر داده‌هایی است که از قدیم در پرونده‌های متنی ساده یا NIS ذخیره می‌شدند.)

پرونده nslcd.conf حاوی اطلاعات پیکربندی برای اجرای nslcd است (نگاه کنید به nslcd(8)). این پرونده شامل گزینه‌هایی در هر خط است که نحوه نگاشت جستجوهای NSS و کنش‌های PAM به جستجوهای LDAP را تعریف می‌کنند.

تعداد ریسمان‌هایی را مشخص می‌کند که برای رسیدگی به درخواست‌ها و انجام پرس‌وجوهای LDAP راه‌اندازی می‌شوند. هر ریسمان یک اتصال جداگانه به سرور LDAP باز می‌کند. پیش‌فرض، راه‌اندازی ۵ ریسمان است.
شناسه کاربری (UID) را که دیمن باید با آن اجرا شود مشخص می‌کند. این شناسه می‌تواند عددی یا یک مقدار نمادین باشد. اگر هیچ UID مشخص نشود، تلاشی برای تغییر کاربر انجام نخواهد شد. توجه داشته باشید که باید از مقادیری استفاده کنید که برای تحلیل نیازی به LDAP نداشته باشند.
شناسه گروهی (GID) را که دیمن باید با آن اجرا شود مشخص می‌کند. این شناسه می‌تواند عددی یا یک مقدار نمادین باشد. اگر هیچ GID مشخص نشود، تلاشی برای تغییر گروه انجام نخواهد شد. توجه داشته باشید که باید از مقادیری استفاده کنید که برای تحلیل نیازی به LDAP نداشته باشند.
نحوه ثبت گزارش را کنترل می‌کند. آرگومان SCHEME می‌تواند none، syslog یا یک مسیر فایل مطلق باشد. آرگومان LEVEL اختیاری است و سطح گزارش را مشخص می‌کند. سطح گزارش می‌تواند یکی از موارد زیر باشد: crit، error، warning، notice، info یا debug. سطح گزارش پیش‌فرض info است. تمام پیام‌های دارای سطح گزارش مشخص‌شده یا بالاتر ثبت می‌شوند. این گزینه می‌تواند چندین بار مشخص شود. در صورت عدم تعیین این گزینه، syslog info لحاظ می‌شود.

شناسه منبع یکنواخت (URI) سرور LDAP را برای اتصال مشخص می‌کند. طرح URI می‌تواند ldap، ldapi یا ldaps باشد که به ترتیب LDAP بر بستر TCP، IPC یا SSL را مشخص می‌کنند (در صورتی که توسط کتابخانه LDAP پشتیبانی شوند).

همچنین مقدار DNS می‌تواند برای تلاش جهت جستجوی سرور با استفاده از رکوردهای SRV سامانه DNS به کار رود. به‌طور پیش‌فرض از دامنه فعلی استفاده می‌شود، اما می‌توان با ساختار DNS:DOMAIN دامنه دیگری را پرس‌وجو کرد. برای تبدیل رکوردهای SRV پورت ۳۸۹ به یک URI از نوع ldaps://، می‌توان از DNSLDAPS استفاده کرد.

هنگام استفاده از طرح ldapi، باید از %2f برای گریز از اسلش‌ها استفاده شود (مانند ldapi://%2fvar%2frun%2fslapd%2fldapi/)، اگرچه در بیشتر مواقع به این کار نیازی نیست.

این گزینه می‌تواند چندین بار و/یا با چند URI در یک خط که با فاصله از هم جدا شده‌اند، مشخص شود. معمولاً فقط از سرور اول استفاده می‌شود و سرورهای بعدی به عنوان پشتیبان عمل می‌کنند (گزینه bind_timelimit را در زیر ببینید).

اگر از جستجوهای LDAP برای تحلیل نام میزبان استفاده می‌شود، هر نام میزبان باید به عنوان یک آدرس IP یا نامی مشخص شود که بدون استفاده از LDAP قابل تحلیل باشد.

نسخه پروتکل LDAP مورد استفاده را مشخص می‌کند. پیش‌فرض، استفاده از حداکثر نسخه پشتیبانی‌شده توسط کتابخانه LDAP است.
نام متمایز (DN) را که با آن برای جستجو به سرور دایرکتوری متصل (bind) می‌شود، مشخص می‌کند. پیش‌فرض، اتصال ناشناس است.
اطلاعات هویتی (گذرواژه) را که با آن متصل می‌شود مشخص می‌کند. این گزینه فقط زمانی کاربرد دارد که همراه با binddn در بالا استفاده شود. اگر این گزینه را تنظیم کنید، باید تغییر مجوزهای دسترسی پرونده nslcd.conf را مد نظر قرار دهید تا فقط به کاربر ریشه دسترسی داده شود.
نام متمایز (DN) را مشخص می‌کند که هنگام تلاش کاربر ریشه برای تغییر گذرواژه کاربر با استفاده از ماژول PAM به کار می‌رود.

توجه داشته باشید که در حال حاضر این DN باید به عنوان یک مدخل واقعی در دایرکتوری LDAP وجود داشته باشد.

اطلاعات هویتی (گذرواژه) برای اتصال را مشخص می‌کند در صورتی که کاربر ریشه بخواهد گذرواژه کاربری را تغییر دهد. این گزینه فقط زمانی کاربرد دارد که با rootpwmoddn در بالا به کار رود. اگر این گزینه مشخص نشود، ماژول PAM این گذرواژه را از کاربر درخواست می‌کند. اگر این گزینه را تنظیم کنید، باید تغییر مجوزهای دسترسی پرونده nslcd.conf را مد نظر قرار دهید تا فقط به کاربر ریشه دسترسی داده شود.

سازوکار SASL را که باید هنگام انجام احراز هویت SASL استفاده شود مشخص می‌کند.
قلمرو SASL را برای استفاده در هنگام انجام احراز هویت SASL مشخص می‌کند.
شناسه احراز هویت را برای استفاده در هنگام انجام احراز هویت SASL مشخص می‌کند.
شناسه مجوزدهی را برای استفاده در هنگام انجام احراز هویت SASL مشخص می‌کند. باید در یکی از قالب‌های: dn:<distinguished name> یا u:<username> مشخص شود.
ویژگی‌های امنیتی Cyrus SASL را مشخص می‌کند. مقادیر مجاز در صفحه راهنمای ldap.conf(5) توضیح داده شده‌اند.
تعیین می‌کند که آیا نام میزبان سرور LDAP باید استانداردسازی شود یا خیر. اگر روی yes تنظیم شود، کتابخانه LDAP یک جستجوی معکوس نام میزبان انجام می‌دهد. به‌طور پیش‌فرض، انجام شدن یا نشدن این بررسی به عهده کتابخانه LDAP گذاشته شده است.

نام را برای حافظه پنهان اطلاعات هویتی کربروس GSS-API تنظیم می‌کند.

نام متمایز (DN) را برای استفاده به عنوان پایه جستجو مشخص می‌کند. این گزینه می‌تواند چندین بار ارائه شود و تمام پایه‌های مشخص‌شده جستجو خواهند شد.

یک پایه جستجوی سراسری یا یک پایه ویژه MAP می‌تواند مشخص شود. اگر پایه‌های جستجوی ویژه MAP تعریف نشده باشند، از پایه‌های سراسری استفاده می‌شود.

اگر به جای DN، مقدار DOMAIN مشخص شود، از دامنه DNS میزبان برای ساخت پایه جستجو استفاده می‌شود. مقدار "" می‌تواند برای نشان دادن یک پایه جستجوی خالی استفاده شود (گیومه‌ها در موارد دیگر برای مقادیر base پشتیبانی نمی‌شوند و تمام پیکربندی‌های سرور LDAP از این پشتیبانی نمی‌کنند).

اگر این مقدار تعریف نشود، تلاشی برای جستجوی آن در سرور LDAP پیکربندی‌شده انجام می‌شود. اگر سرور LDAP در حین راه‌اندازی در دسترس نباشد، nslcd راه‌اندازی نخواهد شد.

محدوده جستجو را مشخص می‌کند (subtree، onelevel، base یا children). محدوده پیش‌فرض subtree است؛ محدوده base تقریباً هیچ‌گاه برای جستجوهای سرویس نام مفید نیست؛ محدوده children در تمام سرورها پشتیبانی نمی‌شود.
سیاست ارجاع‌زدایی از نام‌های مستعار را مشخص می‌کند. سیاست پیش‌فرض هرگز ارجاع‌زدایی نکردن از نام‌های مستعار است.
مشخص می‌کند که آیا دنبال کردن خودکار ارجاع‌ها باید فعال باشد یا خیر. رفتار پیش‌فرض، دنبال کردن ارجاع‌ها است.
پارامتر FILTER یک فیلتر جستجوی LDAP برای استفاده در یک نگاشت مشخص است. فیلتر پیش‌فرض یک جستجوی پایه روی objectClass برای آن نگاشت است (مثلاً (objectClass=posixAccount)).
این گزینه امکان جستجوی ویژگی‌های سفارشی را به جای ویژگی‌های پیش‌فرض RFC 2307 فراهم می‌کند. پارامتر MAP می‌تواند یکی از نگاشت‌های پشتیبانی‌شده در زیر باشد. پارامتر ATTRIBUTE همان ویژگی استفاده‌شده در RFC 2307 است (مثلاً userPassword، ipProtocolNumber، macAddress و غیره).

پارامتر NEWATTRIBUTE می‌تواند نام هر ویژگی موجود در دایرکتوری باشد.

اگر NEWATTRIBUTE درون گیومه (") به صورت "EXPRESSION" قرار گیرد، به عنوان یک عبارت در نظر گرفته می‌شود که برای ایجاد مقدار واقعی مورد استفاده ارزیابی خواهد شد. برای جزئیات بیشتر به بخش عبارت‌های نگاشت ویژگی در زیر مراجعه کنید.

تنها برخی از ویژگی‌ها برای مدخل‌های group، passwd و shadow می‌توانند با یک عبارت نگاشت شوند (زیرا سایر ویژگی‌ها ممکن است در فیلترهای جستجو استفاده شوند). برای مدخل‌های group فقط ویژگی userPassword می‌تواند با یک عبارت نگاشت شود. برای مدخل‌های passwd ویژگی‌های زیر می‌توانند با یک عبارت نگاشت شوند: userPassword، gidNumber، gecos، homeDirectory و loginShell. برای مدخل‌های shadow ویژگی‌های زیر می‌توانند با یک عبارت نگاشت شوند: userPassword، shadowLastChange، shadowMin، shadowMax، shadowWarning، shadowInactive، shadowExpire و shadowFlag.

ویژگی‌های uidNumber و gidNumber در نگاشت‌های passwd و group می‌توانند به objectSid و به دنبال آن SID دامنه نگاشت شوند تا شناسه‌های کاربری و گروهی عددی از SID استخراج شوند (مانند objectSid:S-1-5-21-3623811015-3361044348-30300820).

به‌طور پیش‌فرض تمام ویژگی‌های userPassword به گذرواژه غیرقابل تطبیق ("*") نگاشت می‌شوند تا از نشت تصادفی اطلاعات گذرواژه جلوگیری شود.

محدودیت زمانی (به ثانیه) را هنگام اتصال به سرور دایرکتوری مشخص می‌کند. این با محدودیت زمانی مشخص‌شده در timelimit متفاوت است و فقط بر برقراری اتصال تأثیر می‌گذارد. توجه داشته باشید که همه کتابخانه‌های کلاینت LDAP از تنظیم مهلت زمانی اتصال پشتیبانی نمی‌کنند. مقدار پیش‌فرض bind_timelimit برابر ۱۰ ثانیه است.
محدودیت زمانی (به ثانیه) را برای انتظار جهت دریافت پاسخ از سرور LDAP مشخص می‌کند. مقدار صفر (0)، که پیش‌فرض است، به معنی انتظار نامحدود برای تکمیل جستجوها است.
دوره عدم فعالیت (به ثانیه) را مشخص می‌کند که پس از آن اتصال به سرور LDAP بسته می‌شود. پیش‌فرض این است که اتصالات منقضی نشوند.
تعداد ثانیه‌های توقف را هنگامی که اتصال به تمام سرورهای LDAP ناموفق باشد، مشخص می‌کند. به‌طور پیش‌فرض ۱ ثانیه بین اولین شکست و اولین تلاش مجدد فاصله گذاشته می‌شود.
زمانی را مشخص می‌کند که پس از آن سرور LDAP به عنوان سرور کاملاً غیرقابل دسترس در نظر گرفته می‌شود. پس از رسیدن به این زمان، تلاش‌های مجدد تنها یک‌بار در این دوره زمانی انجام خواهند شد. مقدار پیش‌فرض ۱۰ ثانیه است.

توجه داشته باشید که منطق اتصال مجدد همان‌طور که در بالا توضیح داده شد، سازوکاری است که بین nslcd و سرور LDAP استفاده می‌شود. سازوکار بین کتابخانه‌های کلاینت NSS و PAM از یک سو و nslcd از سوی دیگر ساده‌تر است و دارای یک مهلت زمانی کامپایل‌شده ثابت ۱۰ ثانیه‌ای برای نوشتن در nslcd و مهلت زمانی ۶۰ ثانیه‌ای برای خواندن پاسخ‌ها است. خود nslcd دارای مهلت زمانی خواندن ۰٫۵ ثانیه و مهلت زمانی نوشتن ۶۰ ثانیه است.

مشخص می‌کند که آیا از SSL/TLS استفاده شود یا خیر (پیش‌فرض، عدم استفاده است). اگر start_tls مشخص شود، به جای LDAP خام بر بستر SSL از StartTLS استفاده می‌شود. همه کتابخانه‌های کلاینت LDAP از هر دو مورد SSL و StartTLS و تمام گزینه‌های پیکربندی مرتبط پشتیبانی نمی‌کنند.
مشخص می‌کند چه بررسی‌هایی روی گواهی ارائه‌شده توسط سرور انجام شود. معنای مقادیر در صفحه راهنمای ldap.conf(5) شرح داده شده است. در صورت فعال بودن اعتبارسنجی همتا، دست‌کم یکی از گزینه‌های tls_cacertdir و tls_cacertfile الزامی است.
دایرکتوری حاوی گواهی‌های X.509 را برای احراز هویت همتا مشخص می‌کند. این پارامتر هنگام استفاده از GnuTLS نادیده گرفته می‌شود. در دبیان، OpenLDAP با GnuTLS پیوند یافته است.
مسیر گواهی X.509 را برای احراز هویت همتا مشخص می‌کند.
مسیر منبع آنتروپی را مشخص می‌کند. این پارامتر هنگام استفاده از GnuTLS نادیده گرفته می‌شود. در دبیان، OpenLDAP با GnuTLS پیوند یافته است.
رمزهای مورداستفاده برای TLS را مشخص می‌کند. برای اطلاعات بیشتر به مستندات پیاده‌سازی TLS خود مراجعه کنید.
مسیر پرونده حاوی گواهی محلی را برای احراز هویت TLS کلاینت مشخص می‌کند.
مسیر پرونده حاوی کلید خصوصی را برای احراز هویت TLS کلاینت مشخص می‌کند.
نحوه بررسی نام جایگزین موضوع (SAN) سرور را در گواهی ارائه‌شده از سوی سرور مشخص می‌کند. معنای مقادیر در صفحه راهنمای ldap.conf(5) شرح داده شده است.
مشخص می‌کند که آیا فهرست ابطال گواهی (CRL) متعلق به CA باید برای بررسی ابطال نشدن گواهی‌های سرور استفاده شود یا خیر. معنای مقادیر در صفحه راهنمای ldap.conf(5) شرح داده شده است.
مسیر پرونده حاوی فهرست ابطال گواهی (CRL) را برای بررسی گواهی‌های سرور مشخص می‌کند. معنای مقادیر در صفحه راهنمای ldap.conf(5) شرح داده شده است.

این گزینه را روی عددی بزرگ‌تر از ۰ تنظیم کنید تا نتایج صفحه‌بندی‌شده طبق RFC2696 از سرور LDAP درخواست شود. پیش‌فرض (0) عدم درخواست نتایج صفحه‌بندی‌شده است.

این برای سرورهای LDAP که حاوی مدخل‌های زیادی هستند (مثلاً بیش از ۵۰۰ مورد) و تعداد مدخل‌های بازگردانده‌شده در یک درخواست را محدود می‌کنند، مفید است. برای سرورهای OpenLDAP ممکن است نیاز باشد sizelimit size.prtotal=unlimited را تنظیم کنید تا امکان بازگرداندن مدخل‌های بیشتر در چندین صفحه فراهم شود.

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

همچنین، مقدار ALLLOCAL می‌تواند استفاده شود. با آن مقدار، nslcd در هنگام راه‌اندازی فهرست کاملی از کاربران غیر LDAP می‌سازد.

این گزینه تضمین می‌کند که کاربران LDAP با شناسه کاربری عددی کمتر از مقدار مشخص‌شده نادیده گرفته شوند. همچنین درخواست‌ها برای کاربرانی با شناسه کاربری کمتر نادیده گرفته می‌شوند.
این گزینه آفستی را مشخص می‌کند که به تمام شناسه‌های کاربری عددی LDAP افزوده می‌شود. این می‌تواند برای جلوگیری از تداخل شناسه کاربری با کاربران محلی، یا هنگام استفاده از ویژگی‌های objectSid به دلایل سازگاری به کار رود.

مقدار گزینه nss_min_uid پس از اعمال این آفست ارزیابی می‌شود.

این گزینه آفستی را مشخص می‌کند که به تمام شناسه‌های گروهی عددی LDAP افزوده می‌شود. این می‌تواند برای جلوگیری از تداخل شناسه کاربری با گروه‌های محلی، یا هنگام استفاده از ویژگی‌های objectSid به دلایل سازگاری به کار رود.
اگر این گزینه تنظیم شود، ویژگی member یک گروه ممکن است به گروه دیگری اشاره کند. اعضای گروه‌های تو در تو در گروه سطح بالاتر نیز بازگردانده می‌شوند و گروه‌های والد هنگام یافتن گروه‌ها برای یک کاربر مشخص بازگردانده می‌شوند. پیش‌فرض این است که جستجوهای اضافی برای گروه‌های تو در تو انجام نشود.
اگر این گزینه تنظیم شود، فهرست اعضای گروه هنگام جستجوی گروه‌ها دریافت نمی‌شود. جستجوها برای یافتن اینکه یک کاربر به کدام گروه‌ها تعلق دارد همچنان کارایی خواهند داشت، بنابراین کاربر به احتمال زیاد هنگام ورود گروه‌های درست را دریافت می‌کند.

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

اگر این گزینه تنظیم شود، توابعی که باعث بارگذاری تمام مدخل‌های کاربر/گروه از دایرکتوری می‌شوند (getpwent()، getgrent()، setspent()) موفق به انجام این کار نخواهند شد. برنامه‌هایی که به خواندن ترتیبی تمام کاربران و/یا گروه‌ها وابسته‌اند ممکن است به درستی کار نکنند.

این می‌تواند بار سرور LDAP را در شرایطی که تعداد زیادی کاربر و/یا گروه وجود دارد به طور چشمگیری کاهش دهد. این معمولاً در شرایطی استفاده می‌شود که دسترسی کاربر/برنامه برای شمارش کل دایرکتوری نامطلوب است و تغییر رفتار کاربر/برنامه ممکن نیست. این گزینه برای بیشتر پیکربندی‌ها توصیه نمی‌شود.

این گزینه می‌تواند برای تعیین نحوه تأیید نام‌های کاربر و گروه در سیستم استفاده شود. این الگو برای بررسی تمام نام‌های کاربر و گروه که درخواست می‌شوند و از LDAP بازگردانده می‌شوند، به کار می‌رود.

عبارت منظم باید به عنوان یک عبارت منظم گسترده POSIX مشخص شود. خود عبارت باید با نویسه‌های اسلش (/) جدا شود و پرچم 'i' می‌تواند به انتها اضافه شود تا نشان دهد که تطابق باید غیرحساس به بزرگی و کوچکی حروف باشد. مقدار پیش‌فرض این است: /^[a-z0-9._@$()]([a-z0-9._@$() \\~-]*[a-z0-9._@$()~-])?$/i

این گزینه مشخص می‌کند که آیا جستجوها برای نگاشت‌های group، netgroup، passwd، protocols، rpc، services و shadow با استفاده از تطابق غیرحساس به بزرگی و کوچکی حروف انجام شود یا خیر. تنظیم این گزینه روی yes می‌تواند سیستم را در معرض آسیب‌پذیری‌های دور زدن مجوزدهی قرار دهد و آسیب‌پذیری‌های مسمومیت حافظه پنهان nscd را ایجاد کند که منجر به منع سرویس می‌شوند. پیش‌فرض، انجام فیلتر کردن حساس به بزرگی و کوچکی حروف برای نتایج جستجوی LDAP در نگاشت‌های فوق است.
این گزینه مشخص می‌کند که آیا کنترل‌های سیاست گذرواژه هنگام احراز هویت کاربر از سرور LDAP درخواست و مدیریت شوند یا خیر. به‌طور پیش‌فرض، کنترل‌ها در صورت موجود بودن درخواست و مدیریت می‌شوند.
به‌طور پیش‌فرض nslcd یک جستجوی LDAP را با اطلاعات هویتی کاربر پس از BIND (احراز هویت) انجام می‌دهد تا اطمینان حاصل شود که عملیات BIND موفق بوده است. جستجوی پیش‌فرض یک بررسی ساده است تا مشخص شود آیا DN کاربر وجود دارد یا خیر.

می‌توان یک فیلتر جستجو مشخص کرد تا در عوض استفاده شود. همان جایگزینی‌هایی که در گزینه pam_authz_search آمده است انجام خواهد شد و جستجو باید دست‌کم یک مدخل بازگرداند.

مقدار BASE می‌تواند برای اجبار جستجوی پیش‌فرض برای DN کاربر استفاده شود.

مقدار NONE می‌تواند برای نشان دادن اینکه هیچ جستجویی پس از BIND انجام نشود استفاده شود. توجه داشته باشید که برخی از سرورهای LDAP همیشه کد خطای درستی را در نتیجه یک عملیات BIND ناموفق بازنمی‌گردانند (مثلاً هنگامی که یک گذرواژه خالی ارائه می‌شود).

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

فیلتر جستجو می‌تواند شامل ارجاعات متغیر زیر باشد: $username، $service، $ruser، $rhost، $tty، $hostname، $fqdn، $domain، $dn و $uid. این ارجاعات در فیلتر جستجو با استفاده از همان ساختاری که در بخش عبارت‌های نگاشت ویژگی در زیر توضیح داده شده، جایگزین می‌شوند.

به عنوان مثال، برای بررسی اینکه آیا کاربر دارای مقدار مناسب authorizedService در صورت وجود این ویژگی است (این تقریباً گزینه pam_check_service_attr را در pam_ldap شرکت PADL شبیه‌سازی می‌کند):

(&(objectClass=posixAccount)(uid=$username)(|(authorizedService=$service)(!(authorizedService=*))))

گزینه pam_check_host_attr را می‌توان با عبارت زیر شبیه‌سازی کرد:

(&(objectClass=posixAccount)(uid=$username)(|(host=$hostname)(host=$fqdn)(host=\\*)))

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

اگر این گزینه تنظیم شود، تغییر گذرواژه با استفاده از pam_ldap رد می‌شود و پیام مشخص‌شده در عوض به کاربر نمایش داده خواهد شد. از این پیام می‌توان برای هدایت کاربر به روشی جایگزین جهت تغییر گذرواژه‌اش استفاده کرد.
اگر این گزینه تنظیم شود، nslcd تلاش می‌کند تا حافظه‌های پنهان خارجی مشخص‌شده را هنگام راه‌اندازی و هر زمان که اتصال به سرور LDAP پس از یک خطا دوباره برقرار شود، پاک کند.

پارامتر DB می‌تواند به یکی از نگاشت‌های nsswitch اشاره کند، که در این حالت با nscd تماس گرفته می‌شود تا حافظه پنهان خود را برای پایگاه داده مشخص‌شده پاک کند. اگر DB برابر nfsidmap باشد، با nfsidmap تماس گرفته می‌شود تا حافظه پنهان خود را پاک کند.

استفاده از این گزینه تضمین می‌کند که حافظه‌های پنهان خارجی از اطلاعات نادرست (معمولاً عدم وجود کاربران) که ممکن است به دلیل در دسترس نبودن سرور LDAP ایجاد شده باشد، پاک شوند.

مدت زمانی را که مدخل‌ها در حافظه پنهان داخلی مشخص‌شده نگهداری می‌شوند، پیکربندی می‌کند.

اولین مقدار TIME زمان نگهداری مدخل‌های یافت‌شده را در حافظه پنهان مشخص می‌کند. دومین مقدار TIME زمان به‌خاطر سپردن اینکه یک مدخل خاص یافت نشد را مشخص می‌کند. اگر پارامتر دوم ارائه نشود، همانند پارامتر اول در نظر گرفته می‌شود.

مقادیر زمانی به صورت یک عدد و به دنبال آن s برای ثانیه، m برای دقیقه، h برای ساعت یا d برای روز مشخص می‌شوند. برای غیرفعال کردن حافظه پنهان از 0 یا off استفاده کنید.

در حال حاضر، فقط حافظه پنهان dn2uid پشتیبانی می‌شود که برای به خاطر سپردن جستجوهای DN به نام کاربری در هنگام استفاده از ویژگی member به کار می‌رود. مقدار زمانی پیش‌فرض برای این حافظه پنهان 15m است.

نگاشت‌های زیر پشتیبانی می‌شوند. در گزینه‌های بالا از آن‌ها به عنوان MAP یاد شده است.

نام‌های مستعار رایانامه (ایمیل). توجه داشته باشید که اکثر سرورهای رایانامه از رابط NSS برای درخواست نام‌های مستعار استفاده نمی‌کنند و پرونده /etc/aliases را خودشان پردازش می‌کنند.
شماره‌های اترنت (آدرس‌های مک).
گروه‌های پازیکس (Posix).
نام‌های میزبان.
گروه‌های میزبان و کاربر مورداستفاده برای کنترل دسترسی.
شماره‌های شبکه.
کاربران پازیکس (Posix).
تعاریف پروتکل (مانند موارد موجود در /etc/protocols).
نام‌ها و شماره‌های فراخوانی روال از راه دور (RPC).
نام‌ها و شماره‌های سرویس‌های شبکه.
اطلاعات سایه (shadow) گذرواژه کاربر.

برای برخی از ویژگی‌ها می‌توان از یک عبارت نگاشت برای ساخت مقدار نهایی استفاده کرد. این کار در حال حاضر فقط برای ویژگی‌هایی امکان‌پذیر است که نیازی به استفاده در فیلترهای جستجو ندارند. این عبارت‌ها زیرمجموعه‌ای از عبارت‌های رشته‌ای داخل گیومه دوگانه در پوسته بورن (POSIX) هستند. به جای جایگزینی متغیر، جستجوهای ویژگی روی مدخل جاری انجام شده و مقدار ویژگی جایگزین می‌شود. عبارت‌های زیر پشتیبانی می‌شوند:

"${attr}" (یا به طور خلاصه "$attr")
مقدار ویژگی را جایگزین می‌کند
"${attr:-word}"
(استفاده از پیش‌فرض) مقدار ویژگی را جایگزین می‌کند یا اگر ویژگی تنظیم نشده یا خالی باشد، کلمه word را جایگزین می‌کند
"${attr:+word}"
(استفاده از جایگزین) در صورتی که ویژگی تنظیم شده باشد، word را جایگزین می‌کند، در غیر این صورت رشته خالی جایگزین می‌شود
"${attr:offset:length}"
به تعداد length نویسه (در واقع بایت) را با شروع از موقعیت offset (که شمارش آن از صفر آغاز می‌شود) جایگزین می‌کند؛ در صورتی که رشته جایگزین‌شده بیش از حد طولانی باشد، کوتاه می‌شود؛ به ویژه، اگر length برابر صفر باشد یا offset خارج از رشته اصلی قرار گیرد، طول آن می‌تواند صفر باشد
"${attr#word}"
کوتاه‌ترین تطابق ممکن از word را از سمت چپ مقدار ویژگی حذف می‌کند
"${attr##word}"
طولانی‌ترین تطابق ممکن از word را از سمت چپ مقدار ویژگی حذف می‌کند (فقط در pynslcd)
"${attr%word}"
کوتاه‌ترین تطابق ممکن از word را از سمت راست مقدار ویژگی حذف می‌کند (فقط در pynslcd)
"${attr%%word}"
طولانی‌ترین تطابق ممکن از word را از سمت راست مقدار ویژگی حذف می‌کند (فقط در pynslcd)

در nslcd تنها عبارت تطابق # پشتیبانی می‌شود و آن هم فقط با نماد عام ? عمل می‌کند. پیاده‌سازی pynslcd از تطابق کامل پشتیبانی می‌کند.

نویسه‌های گیومه (")، دلار ($) و بک‌اسلش (\) باید با یک بک‌اسلش (\) گریز (اسکیپ) داده شوند.

این عبارت‌ها بررسی می‌شوند تا ویژگی‌های مناسب به طور خودکار از LDAP واکشی شوند. چند مثال برای نشان دادن نحوه استفاده از این عبارت‌ها در نگاشت ویژگی:

استفاده از ویژگی shadowFlag، با استفاده از مقدار 0 به عنوان پیش‌فرض
استفاده از ویژگی uid برای ساخت مقدار homeDirectory در صورتی که آن ویژگی موجود نباشد
اگر ویژگی isDisabled تنظیم شده باشد، ۱۰۰ بازگردانده می‌شود، در غیر این صورت مقدار خالی می‌ماند
پیشوند {crypt} را از ویژگی userPassword حذف می‌کند و مقدار خام هش را بازمی‌گرداند

/etc/nslcd.conf
پرونده اصلی پیکربندی
/etc/nsswitch.conf
پرونده پیکربندی سوئیچ سرویس نام (Name Service Switch)

nslcd(8), nsswitch.conf(5)

این راهنما توسط Arthur de Jong <arthur@arthurdejong.org> نوشته شده است و بر اساس راهنمای nss_ldap(5) توسعه‌یافته توسط شرکت .PADL Software Pty Ltd می‌باشد.

Feb 2025 Version 0.9.13