PAM_LIMITS(8) Linux-PAM Manual PAM_LIMITS(8)

pam_limits - ماژول PAM برای محدودسازی منابع سیستم

pam_limits.so [conf=/path/to/limits.conf] [debug] [set_all] [utmp_early] [noaudit]

ماژول PAM با نام pam_limits محدودیت‌هایی را بر روی منابع سیستمی که می‌توان در یک نشست کاربری به دست آورد، اعمال می‌کند. کاربران با uid=0 نیز تحت تأثیر این محدودیت‌ها قرار می‌گیرند.

به‌طور پیش‌فرض، محدودیت‌ها از فایل پیکربندی /etc/security/limits.conf خوانده می‌شوند. سپس فایل‌های پیکربندی مجزای *.conf از دایرکتوری /etc/security/limits.d/ خوانده می‌شوند. فایل‌ها یکی پس از دیگری بر اساس ترتیب محلی "C" پردازش می‌شوند. تأثیر فایل‌های مجزا همانند این است که تمام فایل‌ها به ترتیب خواندن به یکدیگر الحاق شده باشند. اگر یک فایل پیکربندی صریحاً با یکی از گزینه‌های ماژول مشخص شده باشد، فایل‌های موجود در دایرکتوری فوق پردازش نخواهند شد.

این ماژول نباید توسط یک برنامه چندریسمانی (multithreaded) فراخوانی شود.

اگر Linux PAM با پشتیبانی از سیستم حسابرسی (audit) کامپایل شده باشد، هنگامی که دسترسی به دلیل فراتر رفتن از حد حداکثر تعداد نشست‌های ورود همزمان رد شود، این ماژول آن را گزارش خواهد داد.

conf=/path/to/limits.conf

مشخص کردن یک فایل پیکربندی جایگزین با ساختار limits.conf جهت بازنویسی و لغو مقدار پیش‌فرض.

debug

چاپ اطلاعات اشکال‌زدایی (دیباگ).

set_all

تنظیم محدودیت‌هایی که مقداری برای آن‌ها در فایل پیکربندی مشخص نشده است، بر اساس مقادیر فرآیند با شناسه PID 1. لطفاً توجه داشته باشید که اگر فرآیند init از نوع systemd باشد، این محدودیت‌ها معادل محدودیت‌های پیش‌فرض کرنل نخواهند بود و این گزینه نباید استفاده شود.

utmp_early

برخی از برنامه‌های معیوب، پیش از پذیرش نهایی کاربر در سیستم، یک مدخل utmp برای او تخصیص می‌دهند. اگر برخی از سرویس‌هایی که PAM را برای آن‌ها پیکربندی می‌کنید این‌گونه عمل می‌کنند، می‌توانید با استفاده از این آرگومان ماژول این رفتار را جبران کرده و در عین حال یکپارچگی سراسری سیستم را با یک فایل واحد limits.conf حفظ نمایید.

noaudit

فراتر رفتن از حداکثر تعداد مجاز ورود را به زیرسیستم حسابرسی (audit) گزارش ندهد.

تنها نوع ماژول session ارائه شده است.

PAM_ABORT

امکان دریافت محدودیت‌های فعلی وجود ندارد.

PAM_IGNORE

هیچ محدودیتی برای این کاربر یافت نشد.

PAM_PERM_DENIED

محدودیت‌های جدید قابل تنظیم نبودند.

PAM_SERVICE_ERR

امکان خواندن فایل پیکربندی وجود ندارد.

PAM_SESSION_ERR

خطا در بازیابی نام حساب کاربری.

PAM_SUCCESS

محدودیت‌ها با موفقیت تغییر یافتند.

PAM_USER_UNKNOWN

کاربر برای سیستم ناشناخته است.

/etc/security/limits.conf

فایل پیکربندی پیش‌فرض

برای سرویس‌هایی که نیاز به محدودسازی منابع دارند (برای مثال login)، خط زیر را در /etc/pam.d/login به‌عنوان آخرین خط برای آن سرویس قرار دهید (معمولاً پس از خط نشست pam_unix):

#%PAM-1.0
#
# Resource limits imposed on login sessions via pam_limits
#
session  required  pam_limits.so

به‌جای "login"، نام هر سرویسی را که از این ماژول برای آن استفاده می‌کنید قرار دهید.

limits.conf(5)، pam.d(5)، pam(8).

ماژول pam_limits در ابتدا توسط Cristian Gafton <gafton@redhat.com> نوشته شد.

01/26/2026 Linux-PAM