'\" t .\" Title: sssd-sudo .\" 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\-SUDO" "5" "06/09/2026" "SSSD" "قالب‌های پرونده و قراردادها" .\" ----------------------------------------------------------------- .\" * 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-sudo \- پیکربندی sudo به همراه بک‌اند SSSD .SH "شرح (DESCRIPTION)" .PP این صفحه راهنما نحوه پیکربندی \fBsudo\fR(8) را برای همکاری با \fBsssd\fR(8) و چگونگی ذخیره‌سازی موقت (cache) قوانین sudo توسط SSSD شرح می‌دهد.\& .SH "پیکربندی SUDO برای همکاری با SSSD (CONFIGURING SUDO TO COOPERATE WITH SSSD)" .PP برای فعال‌سازی SSSD به عنوان منبع قوانین sudo، مقدار \fIsss\fR را به مدخل \fIsudoers\fR در \fBnsswitch.conf\fR(5) اضافه کنید.\& .PP به‌عنوان مثال، برای پیکربندی sudo به منظور جستجوی قوانین ابتدا در پرونده استاندارد \fBsudoers\fR(5) (که باید حاوی قوانین اعمال‌شده بر کاربران محلی باشد) و سپس در SSSD، پرونده nsswitch\&.conf باید حاوی خط زیر باشد: .PP .if n \{\ .RS 4 .\} .nf sudoers: files sss .fi .if n \{\ .RE .\} .PP اطلاعات بیشتر درباره پیکربندی ترتیب جستجوی sudoers از طریق پرونده nsswitch\&.conf و همچنین اطلاعات مربوط به طرح‌واره (schema) پروتکل LDAP که برای ذخیره قوانین sudo در دایرکتوری استفاده می‌شود، در \fBsudoers.ldap\fR(5) یافت می‌شود.\& .PP \fIنکته\fR: برای استفاده از netgroupها یا hostgroupهای IPA در قوانین sudo، همچنین باید مقدار \fBnisdomainname\fR(1) را به درستی روی نام دامنه NIS خود (که هنگام استفاده از hostgroupها برابر با نام دامنه IPA است) تنظیم کنید.\& .SH "پیکربندی SSSD برای واکشی قوانین SUDO (CONFIGURING SSSD TO FETCH SUDO RULES)" .PP تمام پیکربندی مورد نیاز در سمت SSSD، گسترش فهرست \fIservices\fR با افزودن "sudo" در بخش [sssd] از \fBsssd.conf\fR(5) است.\& برای تسریع در جستجوهای LDAP، همچنین می‌توانید پایگاه جستجو (search base) برای قوانین sudo را با استفاده از گزینه \fIldap_sudo_search_base\fR تعیین کنید.\& .PP مثال زیر نحوه پیکربندی SSSD برای دریافت قوانین sudo از یک سرور LDAP را نشان می‌دهد.\& .PP .if n \{\ .RS 4 .\} .nf [sssd] services = nss, pam, sudo domains = EXAMPLE [domain/EXAMPLE] id_provider = ldap sudo_provider = ldap ldap_uri = ldap://example\&.com ldap_sudo_search_base = ou=sudoers,dc=example,dc=com .fi .if n \{\ .RE .\} .sp لازم به ذکر است در پلتفرم‌هایی که systemd پشتیبانی می‌شود، نیازی به افزودن ارائه‌دهنده "sudo" به فهرست سرویس‌ها نیست، زیرا اختیاری شده است.\& با این حال، باید sssd\-sudo\&.socket فعال گردد.\& .PP هنگامی که SSSD طوری پیکربندی شده باشد که از IPA به عنوان ارائه‌دهنده شناسه (ID provider) استفاده کند، ارائه‌دهنده sudo به‌طور خودکار فعال می‌شود.\& پایگاه جستجوی sudo طوری پیکربندی شده که از درخت بومی LDAP در IPA استفاده کند (cn=sudo,$SUFFIX).\& اگر پایگاه جستجوی دیگری در sssd\&.conf تعریف شده باشد، آن مقدار به جای این مورد استفاده خواهد شد.\& درخت سازگاری (ou=sudoers,$SUFFIX) دیگر برای کارکرد sudo در IPA الزامی نیست.\& .SH "سازوکار ذخیره‌سازی موقت قوانین SUDO (THE SUDO RULE CACHING MECHANISM)" .PP بزرگ‌ترین چالش هنگام توسعه پشتیبانی از sudo در SSSD، اطمینان از این بود که اجرای sudo با SSSD به عنوان منبع داده، همان تجربه کاربری و سرعت پیشین sudo را حفظ کند و در عین حال به‌روزترین مجموعه قوانین ممکن را ارائه دهد.\& برای برآورده کردن این نیازمندی‌ها، SSSD از سه نوع به‌روزرسانی استفاده می‌کند که به عنوان نوسازی کامل (full refresh)، نوسازی هوشمند (smart refresh) و نوسازی قوانین (rules refresh) شناخته می‌شوند.\& .PP فرآیند \fInوسازی هوشمند (smart refresh)\fR به صورت دوره‌ای قوانینی را دانلود می‌کند که جدید بوده یا پس از آخرین به‌روزرسانی تغییر یافته‌اند.\& هدف اصلی آن حفظ رشد تدریجی پایگاه‌داده با دریافت مقادیر افزایشی کوچک است تا ترافیک شبکه زیادی ایجاد نشود.\& .PP فرآیند \fInوسازی کامل (full refresh)\fR به سادگی تمام قوانین sudo ذخیره‌شده در حافظه موقت (cache) را حذف کرده و آن‌ها را با تمام قوانین موجود در سرور جایگزین می‌کند.\& این کار برای حفظ یکپارچگی حافظه موقت با حذف هر قانونی که از سرور پاک شده است، انجام می‌شود.\& با این حال، نوسازی کامل ممکن است ترافیک زیادی ایجاد کند و بنابراین بسته به اندازه و پایداری قوانین sudo، تنها باید گهگاه اجرا شود.\& .PP فرآیند \fInوسازی قوانین (rules refresh)\fR تضمین می‌کند که مجوزی بیش از آنچه تعریف شده است به کاربر اعطا نشود.\& این نوسازی با هر بار اجرای sudo توسط کاربر آغاز می‌شود.\& نوسازی قوانین تمام قوانین مربوط به این کاربر را پیدا کرده، زمان انقضای آن‌ها را بررسی می‌کند و در صورت انقضا دوباره آن‌ها را دانلود می‌نماید.\& در صورتی که هر یک از این قوانین در سرور مفقود باشند، SSSD یک نوسازی کامل خارج از نوبت انجام خواهد داد، زیرا ممکن است قوانین بیشتری (مرتبط با سایر کاربران) حذف شده باشند.\& .PP در صورت فعال بودن، SSSD تنها قوانینی را ذخیره می‌کند که می‌توانند روی این ماشین اعمال شوند.\& این به معنای قوانینی است که حاوی یکی از مقادیر زیر در مشخصه \fIsudoHost\fR باشند: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} کلیدواژه ALL .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نویسه عام (wildcard) .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} گروه شبکه (netgroup در قالب "+netgroup") .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} نام میزبان یا نام دامنه کاملاً مشخص (FQDN) این ماشین .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} یکی از نشانی‌های IP این ماشین .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} یکی از نشانی‌های IP شبکه (در قالب "address/mask") .RE .PP گزینه‌های پیکربندی بسیاری برای تنظیم این رفتار وجود دارند.\& لطفاً به "ldap_sudo_*" در \fBsssd-ldap\fR(5) و "sudo_*" در \fBsssd.conf\fR(5) مراجعه کنید.\& .SH "تنظیم کارایی و عملکرد (TUNING THE PERFORMANCE)" .PP ابزار SSSD از سازوکارهای مختلفی با فیلترهای کم‌وبیش پیچیده LDAP استفاده می‌کند تا قوانین کش‌شده sudo را به‌روز نگه دارد.\& پیکربندی پیش‌فرض روی مقادیری تنظیم شده که باید اکثر نیازهای کاربران ما را برآورده سازد، اما بندهای زیر حاوی چند نکته برای تنظیم دقیق پیکربندی مطابق با نیازهای شما هستند.\& .PP ۱\&. \fIشاخص‌گذاری مشخصه‌های LDAP\fR\&. اطمینان حاصل کنید که این مشخصه‌های LDAP شاخص‌گذاری (index) شده‌اند: objectClass, cn, entryUSN یا modifyTimestamp\&. .PP ۲\&. \fIتنظیم ldap_sudo_search_base\fR\&. برای محدود کردن دامنه جستجو، پایگاه جستجو را روی ظرفی تنظیم کنید که قوانین sudo را نگهداری می‌کند.\& .PP ۳\&. \fIتنظیم بازه نوسازی کامل و هوشمند\fR\&. اگر قوانین sudo شما اغلب تغییر نمی‌کنند و نیازی به به‌روزرسانی سریع قوانین کش‌شده در کلاینت‌های خود ندارید، می‌توانید افزایش مقادیر \fIldap_sudo_full_refresh_interval\fR و \fIldap_sudo_smart_refresh_interval\fR را در نظر بگیرید.\& همچنین می‌توانید با تنظیم \fIldap_sudo_smart_refresh_interval = 0\fR نوسازی هوشمند را غیرفعال کنید.\& .PP ۴\&. اگر تعداد زیادی کلاینت دارید، می‌توانید افزایش مقدار \fIldap_sudo_random_offset\fR را برای توزیع بهتر بار روی سرور در نظر بگیرید.\& .SH "همچنین ببینید (SEE ALSO)" .PP \fBsssd\fR(8), \fBsssd.conf\fR(5), \fBsssd-ldap\fR(5), \fBsssd-ldap-attributes\fR(5), \fBsssd-krb5\fR(5), \fBsssd-simple\fR(5), \fBsssd-ipa\fR(5), \fBsssd-ad\fR(5), \fBsssd-idp\fR(5), \fBsssd-sudo\fR(5), \fBsssd-session-recording\fR(5), \fBsss_cache\fR(8), \fBsss_debuglevel\fR(8), \fBsss_obfuscate\fR(8), \fBsss_seed\fR(8), \fBsssd_krb5_locator_plugin\fR(8), \fBsss_ssh_authorizedkeys\fR(1), \fBsss_ssh_knownhosts\fR(1), \fBsssd-ifp\fR(5), \fBpam_sss\fR(8)\&. \fBsss_rpcidmapd\fR(5) .SH "نویسندگان (AUTHORS)" .PP \fBتوسعه‌دهندگان بالادستی SSSD \- https://github\&.com/SSSD/sssd/\fR