'\" t .\" Title: sssd-kcm .\" Author: The SSSD upstream - https://github.com/SSSD/sssd .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 06/09/2026 .\" Manual: File Formats and Conventions .\" Source: SSSD .\" Language: English .\" .TH "SSSD\-KCM" "8" "06/09/2026" "SSSD" "File Formats and Conventions" .\" ----------------------------------------------------------------- .\" * 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)" sssd\-kcm \- مدیر حافظه پنهان کربروس در SSSD .SH "توضیحات (DESCRIPTION)" .PP این صفحه راهنما پیکربندی مدیر حافظه پنهان کربروس در SSSD (KCM) را شرح می‌دهد\&. KCM فرآیندی است که حافظه‌های پنهان اعتبارنامه کربروس را ذخیره، ردیابی و مدیریت می‌کند\&. این ابزار از پروژه کربروس Heimdal سرچشمه می‌گیرد، اگرچه کتابخانه کربروس MIT نیز پشتیبانی سمت کلاینت را از حافظه پنهان اعتبارنامه KCM ارائه می‌دهد (جزئیات بیشتر در زیر آمده است)\&. .PP در ساختاری که حافظه‌های پنهان کربروس توسط KCM مدیریت می‌شوند، کتابخانه کربروس (که معمولاً از طریق یک برنامه مانند \fBkinit\fR(1) استفاده می‌شود) یک \(lqکلاینت KCM\(rq است و دیمن KCM به عنوان \(lqسرور KCM\(rq شناخته می‌شود\&. کلاینت و سرور از طریق یک سوکت یونیکس ارتباط برقرار می‌کنند\&. .PP سرور KCM مالک هر یک از حافظه‌های پنهان اعتبارنامه را ردیابی می‌کند و بررسی کنترل دسترسی را بر اساس UID و GID کلاینت KCM انجام می‌دهد\&. .PP حافظه پنهان اعتبارنامه KCM دارای چندین ویژگی جالب است: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} از آنجا که این فرآیند در فضای کاربری اجرا می‌شود، بر خلاف keyring هسته، مشمول تفکیک فضای نام UID است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} بر خلاف حافظه پنهان مبتنی بر keyring هسته که بین تمام کانتینرها مشترک است، سرور KCM فرآیندی مجزا است که نقطه ورود آن یک سوکت یونیکس است .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} پیاده‌سازی SSSD این حافظه‌های پنهان اعتبارنامه (ccacheها) را در یک پایگاه‌داده ذخیره می‌کند که معمولاً در \fI/var/lib/sss/secrets\fR واقع شده است و به ccacheها اجازه می‌دهد پس از راه‌اندازی مجدد سرور KCM یا ریبوت ماشین باقی بمانند\&. .RE .sp این ویژگی به سیستم اجازه می‌دهد تا از یک حافظه پنهان اعتبارنامه آگاه از مجموعه استفاده کند، و با bind-mount کردن سوکت، حافظه پنهان اعتبارنامه را بین برخی از کانتینرها یا هیچ‌کدام به اشتراک بگذارد\&. .PP مهلت زمانی پیش‌فرض عدم فعالیت کلاینت KCM برابر 5 دقیقه است که زمان بیشتری را برای تعامل کاربر با ابزارهای خط فرمان مانند kinit فراهم می‌سازد\&. .SH "استفاده از حافظه پنهان اعتبارنامه KCM (USING THE KCM CREDENTIAL CACHE)" .PP به منظور استفاده از حافظه پنهان اعتبارنامه KCM، باید به عنوان نوع اعتبارنامه پیش‌فرض در \fBkrb5.conf\fR(5) انتخاب شود\&. نام حافظه پنهان اعتبارنامه باید فقط \(lqKCM:\(rq بدون هیچ‌گونه بسط الگو باشد\&. برای مثال: .sp .if n \{\ .RS 4 .\} .nf [libdefaults] default_ccache_name = KCM: .fi .if n \{\ .RE .\} .PP سپس، مطمئن شوید که کتابخانه‌های کلاینت کربروس و سرور KCM روی مسیر سوکت یونیکس توافق دارند\&. به طور پیش‌فرض، هر دو از مسیر یکسان \fI/var/run/\&.heim_org\&.h5l\&.kcm\-socket\fR استفاده می‌کنند\&. برای پیکربندی کتابخانه کربروس، گزینه \(lqkcm_socket\(rq آن را تغییر دهید که در صفحه راهنمای \fBkrb5.conf\fR(5) توضیح داده شده است\&. .PP در نهایت، مطمئن شوید که سرور SSSD KCM قابل دسترسی است\&. سرویس KCM معمولاً با فعال‌سازی از طریق سوکت توسط \fBsystemd\fR(1) راه‌اندازی می‌شود\&. بر خلاف سایر سرویس‌های SSSD، نمی‌توان آن را با افزودن رشته \(lqkcm\(rq به دستورالعمل \(lqservice\(rq شروع کرد\&. .sp .if n \{\ .RS 4 .\} .nf systemctl start sssd\-kcm\&.socket systemctl enable sssd\-kcm\&.socket .fi .if n \{\ .RE .\} .sp لطفاً توجه داشته باشید که توزیع شما ممکن است از قبل این واحدها را برای شما پیکربندی کرده باشد\&. .SH "محل ذخیره‌سازی حافظه پنهان اعتبارنامه (THE CREDENTIAL CACHE STORAGE)" .PP حافظه‌های پنهان اعتبارنامه در یک پایگاه‌داده ذخیره می‌شوند، بسیار شبیه به نحوه ذخیره‌سازی ورودی‌های کاربر یا گروه توسط SSSD\&. این پایگاه‌داده معمولاً در مسیر \(lq/var/lib/sss/secrets\(rq قرار دارد\&. .SH "دریافت گزارش‌های اشکال‌زدایی (OBTAINING DEBUG LOGS)" .PP سرویس sssd\-kcm معمولاً توسط \fBsystemd\fR(1) بر اساس سوکت فعال می‌شود\&. برای تولید لاگ‌های اشکال‌زدایی، قطعه زیر را مستقیماً به پرونده /etc/sssd/sssd\&.conf یا به عنوان یک قطعه پیکربندی به دایرکتوری /etc/sssd/conf\&.d/ اضافه کنید: .sp .if n \{\ .RS 4 .\} .nf [kcm] debug_level = 10 .fi .if n \{\ .RE .\} .sp سپس، سرویس sssd\-kcm را مجدداً راه‌اندازی کنید: .sp .if n \{\ .RS 4 .\} .nf systemctl restart sssd\-kcm\&.service .fi .if n \{\ .RE .\} .sp در نهایت، هر سناریویی که برای شما کار نمی‌کند را اجرا نمایید\&. لاگ‌های KCM در مسیر /var/log/sssd/sssd_kcm\&.log تولید خواهند شد\&. توصیه می‌شود زمانی که دیگر نیازی به فعال بودن اشکال‌زدایی ندارید، لاگ‌های اشکال‌زدایی را غیرفعال کنید زیرا سرویس sssd\-kcm می‌تواند حجم بسیار زیادی از اطلاعات اشکال‌زدایی را تولید کند\&. .PP لطفاً توجه داشته باشید که در حال حاضر، قطعات پیکربندی تنها در صورتی پردازش می‌شوند که پرونده پیکربندی اصلی در مسیر /etc/sssd/sssd\&.conf وجود داشته باشد\&. .SH "تمدیدها (RENEWALS)" .PP سرویس sssd\-kcm را می‌توان طوری پیکربندی کرد که برای TGTهای قابل تمدید ذخیره‌شده در ccache متعلق به KCM، تلاش برای تمدید انجام دهد\&. تمدیدها تنها زمانی انجام می‌شوند که نیمی از طول عمر بلیت سپری شده باشد\&. تمدیدهای KCM زمانی پیکربندی می‌شوند که گزینه‌های زیر در بخش [kcm] تنظیم شده باشند: .sp .if n \{\ .RS 4 .\} .nf tgt_renewal = true krb5_renew_interval = 60m .fi .if n \{\ .RE .\} .PP همچنین SSSD می‌تواند گزینه‌های krb5 برای تمدیدها را از یک دامنه موجود به ارث ببرد\&. .sp .if n \{\ .RS 4 .\} .nf tgt_renewal = true tgt_renewal_inherit = domain\-name .fi .if n \{\ .RE .\} .PP گزینه‌های krb5 زیر را می‌توان در بخش [kcm] برای کنترل رفتار تمدید پیکربندی کرد، این گزینه‌ها در زیر با جزئیات شرح داده شده‌اند: .sp .if n \{\ .RS 4 .\} .nf krb5_renew_interval krb5_renewable_lifetime krb5_lifetime krb5_validate krb5_canonicalize krb5_auth_timeout .fi .if n \{\ .RE .\} .sp .SH "گزینه‌های پیکربندی (CONFIGURATION OPTIONS)" .PP سرویس KCM در بخش \(lqkcm\(rq از پرونده sssd\&.conf پیکربندی می‌شود\&. لطفاً توجه داشته باشید از آنجا که سرویس KCM معمولاً با سوکت فعال می‌شود، پس از تغییر گزینه‌ها در بخش \(lqkcm\(rq پرونده sssd\&.conf، کافی است سرویس \(lqsssd\-kcm\(rq را مجدداً راه‌اندازی کنید: .sp .if n \{\ .RS 4 .\} .nf systemctl restart sssd\-kcm\&.service .fi .if n \{\ .RE .\} .PP برای مرجع دقیق نحو، به بخش \(lqFILE FORMAT\(rq از صفحه راهنمای \fBsssd.conf\fR(5) مراجعه فرمایید\&. .PP گزینه‌های عمومی سرویس SSSD مانند \(lqdebug_level\(rq یا \(lqfd_limit\(rq توسط سرویس kcm پذیرفته می‌شوند\&. لطفاً برای فهرست کامل به صفحه راهنمای \fBsssd.conf\fR(5) مراجعه کنید\&. علاوه بر این، برخی گزینه‌های ویژه KCM نیز وجود دارند\&. .PP socket_path (رشته) .RS 4 سوکتی که سرویس KCM به آن گوش فرا خواهد داد\&. .sp پیش‌فرض: \fI/var/run/\&.heim_org\&.h5l\&.kcm\-socket\fR .sp نکته: در پلتفرم‌هایی که systemd پشتیبانی می‌شود، مسیر سوکت با مسیر تعریف‌شده در پرونده واحد sssd\-kcm\&.socket بازنویسی می‌شود\&. .RE .PP max_ccaches (عدد صحیح) .RS 4 پایگاه‌داده KCM چه تعداد حافظه پنهان اعتبارنامه برای تمام کاربران مجاز می‌داند\&. .sp پیش‌فرض: 0 (نامحدود، فقط سهمیه به ازای هر UID اعمال می‌شود) .RE .PP max_uid_ccaches (عدد صحیح) .RS 4 پایگاه‌داده KCM چه تعداد حافظه پنهان اعتبارنامه به ازای هر UID مجاز می‌داند\&. این معادل است با \(lqبا چه تعداد هویت اصلی (principal) می‌توانید kinit کنید\(rq\&. .sp پیش‌فرض: 64 .RE .PP max_ccache_size (عدد صحیح) .RS 4 حداکثر اندازه یک حافظه پنهان اعتبارنامه به ازای هر ccache چقدر می‌تواند باشد\&. هر بلیت سرویس در این سهمیه محاسبه می‌شود\&. .sp پیش‌فرض: 65536 .RE .PP tgt_renewal (بولی) .RS 4 قابلیت تمدید TGT را فعال می‌کند\&. .sp پیش‌فرض: False (تمدید خودکار غیرفعال است) .RE .PP tgt_renewal_inherit (رشته) .RS 4 دامنه‌ای که گزینه‌های krb5_* برای استفاده در تمدیدهای TGT از آن به ارث برده می‌شوند\&. .sp پیش‌فرض: NULL .RE .PP krb5_auth_timeout (عدد صحیح) .RS 4 مهلت زمانی بر حسب ثانیه که پس از آن درخواست احراز هویت آنلاین یا درخواست تغییر گذرواژه متوقف می‌شود\&. در صورت امکان، درخواست احراز هویت به صورت برون‌خط (آفلاین) ادامه می‌یابد\&. .sp پیش‌فرض: 6 .RE .PP krb5_validate (بولی) .RS 4 با کمک krb5_keytab بررسی می‌کند که TGT به دست آمده جعل نشده باشد\&. ورودی‌های keytab به صورت متوالی بررسی می‌شوند و نخستین ورودی با قلمرو (realm) منطبق برای اعتبارسنجی استفاده می‌شود\&. اگر هیچ ورودی با قلمرو مطابقت نداشته باشد، آخرین ورودی در keytab استفاده می‌شود\&. این فرآیند می‌تواند برای اعتبارسنجی محیط‌هایی که از اعتماد بین-قلمرویی (cross-realm trust) استفاده می‌کنند، با قرار دادن ورودی keytab مناسب به عنوان آخرین ورودی یا تنها ورودی در پرونده keytab به کار رود\&. .sp پیش‌فرض: false (برای ارائه‌دهنده IPA و AD برابر true) .sp لطفاً توجه داشته باشید که اعتبارسنجی بلیت نخستین گام هنگام بررسی PAC است (برای جزئیات به \*(Aqpac_check\*(Aq در صفحه راهنمای \fBsssd.conf\fR(5) مراجعه کنید)\&. اگر اعتبارسنجی بلیت غیرفعال باشد، بررسی‌های PAC نیز نادیده گرفته خواهند شد\&. .RE .PP krb5_renewable_lifetime (رشته) .RS 4 درخواست بلیت قابل تمدید با طول عمر کل، که به صورت یک عدد صحیح بلافاصله به همراه واحد زمانی مشخص می‌شود: .sp \fIs\fR برای ثانیه .sp \fIm\fR برای دقیقه .sp \fIh\fR برای ساعت .sp \fId\fR برای روز\&. .sp اگر هیچ واحدی داده نشود، \fIs\fR فرض می‌شود\&. .sp نکته: ترکیب واحدها امکان‌پذیر نیست\&. برای تنظیم طول عمر قابل تمدید روی یک ساعت و نیم، به جای \*(Aq1h30m\*(Aq از \*(Aq90m\*(Aq استفاده کنید\&. .sp پیش‌فرض: تنظیم نشده، یعنی TGT قابل تمدید نیست .RE .PP krb5_lifetime (رشته) .RS 4 درخواست بلیت با طول عمر مشخص، که به صورت یک عدد صحیح بلافاصله به همراه واحد زمانی داده می‌شود: .sp \fIs\fR برای ثانیه .sp \fIm\fR برای دقیقه .sp \fIh\fR برای ساعت .sp \fId\fR برای روز\&. .sp اگر هیچ واحدی داده نشود، \fIs\fR فرض می‌شود\&. .sp نکته: ترکیب واحدها امکان‌پذیر نیست\&. برای تنظیم طول عمر روی یک ساعت و نیم لطفاً به جای \*(Aq1h30m\*(Aq از \*(Aq90m\*(Aq استفاده کنید\&. .sp پیش‌فرض: تنظیم نشده، یعنی طول عمر پیش‌فرض بلیت که روی KDC پیکربندی شده است\&. .RE .PP krb5_renew_interval (رشته) .RS 4 زمان بر حسب ثانیه بین دو بررسی برای اینکه آیا TGT باید تمدید شود یا خیر\&. اگر حدود نیمی از طول عمر TGT سپری شده باشد تمدید می‌شود، که به صورت یک عدد صحیح بلافاصله به همراه واحد زمانی مشخص می‌شود: .sp \fIs\fR برای ثانیه .sp \fIm\fR برای دقیقه .sp \fIh\fR برای ساعت .sp \fId\fR برای روز\&. .sp اگر هیچ واحدی داده نشود، \fIs\fR فرض می‌شود\&. .sp نکته: ترکیب واحدها امکان‌پذیر نیست\&. برای تنظیم طول عمر قابل تمدید روی یک ساعت و نیم، به جای \*(Aq1h30m\*(Aq از \*(Aq90m\*(Aq استفاده کنید\&. .sp اگر این گزینه تنظیم نشود یا 0 باشد، تمدید خودکار غیرفعال خواهد بود\&. .sp پیش‌فرض: تنظیم نشده .RE .PP krb5_canonicalize (بولی) .RS 4 مشخص می‌کند که آیا هویت اصلی کاربر و میزبان باید متعارف‌سازی (canonicalize) شوند یا خیر\&. این ویژگی با MIT Kerberos نسخه 1\&.7 و نسخه‌های بعدی در دسترس است\&. .sp پیش‌فرض: false .RE .SH "همچنین ببینید (SEE ALSO)" .PP \fBsssd\fR(8), \fBsssd.conf\fR(5), .SH "نویسندگان (AUTHORS)" .PP \fBThe SSSD upstream \- https://github\&.com/SSSD/sssd\fR