TIME.CONF(5) Linux-PAM Manual TIME.CONF(5)

time.conf - پرونده پیکربندی برای ماژول pam_time

ماژول PAM با نام pam_time کاربر را احراز هویت نمی‌کند، بلکه دسترسی به سامانه یا برنامه‌های کاربردی خاص را در زمان‌های مختلفی از روز و در روزهای خاص یا روی خطوط مختلف ترمینال محدود می‌سازد. این ماژول می‌تواند طوری پیکربندی شود که دسترسی کاربران (به‌صورت فردی) را بر اساس نام آن‌ها، زمان روز، روز هفته، سرویسی که درخواست می‌کنند و ترمینالی که از آن درخواست ارسال می‌کنند رد نماید.

برای اینکه این ماژول به درستی کار کند، باید یک پروندهٔ /etc/security/time.conf با قالب‌بندی صحیح وجود داشته باشد. فاصله‌های سفید نادیده گرفته می‌شوند و خطوط را می‌توان با '\' (خط جدید گریز داده‌شده) ادامه داد. متن بعد از '#' تا پایان خط نادیده گرفته می‌شود.

نحو خطوط به شرح زیر است:

services;ttys;users;times

به عبارت دیگر، هر قاعده یک خط را اشغال می‌کند که با خط جدید یا شروع یک توضیح، یعنی '#' خاتمه می‌یابد. این قاعده شامل چهار فیلد است که با نقطه‌ویرگول، ';' از هم جدا شده‌اند.

فیلد اول، یعنی فیلد services، یک فهرست منطقی از نام‌های سرویس‌های PAM است که قاعده بر آن‌ها اعمال می‌شود.

فیلد دوم، یعنی فیلد tty، یک فهرست منطقی از نام‌های ترمینال است که این قاعده بر آن‌ها اعمال می‌شود.

فیلد سوم، یعنی فیلد users، یک فهرست منطقی از کاربران یا یک netgroup از کاربران است که این قاعده بر آن‌ها اعمال می‌شود.

یک فهرست منطقی به‌طور خاص به معنای نشانه‌های مجزایی است که به صورت اختیاری دارای پیشوند '!' (نقیض منطقی) بوده و با '&' (عطف منطقی) و '|' (فصل منطقی) از هم جدا می‌شوند.

برای این موارد، نویسه عام ساده '*' تنها می‌تواند یک بار استفاده شود. در مورد netgroupها هیچ نویسه عام یا عملگر منطقی مجاز نیست.

فیلد times برای مشخص کردن زمان‌هایی استفاده می‌شود که این قاعده اعمال می‌گردد. قالب در اینجا یک فهرست منطقی از مدخل‌های روز/بازه-زمانی است. روزها با دنباله‌ای از مدخل‌های دو نویسه‌ای مشخص می‌شوند؛ برای نمونه MoTuSa به معنای دوشنبه، سه‌شنبه و شنبه است. توجه داشته باشید که تکرار روزها اثر را لغو می‌کند: MoMo = بدون روز، و MoWk = تمام روزهای کاری هفته به جز دوشنبه. ترکیب‌های دو نویسه‌ای پذیرفته‌شده عبارتند از Mo Tu We Th Fr Sa Su Wk Wd Al، که دو مورد آخر به ترتیب روزهای آخر هفته و تمام ۷ روز هفته هستند. به عنوان نمونه پایانی، AlFr به معنای تمام روزها به جز جمعه است.

هر روز/بازه-زمانی می‌تواند با پیشوند '!' بیاید تا "هر چیزی به جز این" را نشان دهد. بخش بازه-زمانی دو زمان ۲۴-ساعته HHMM است که با خط پیوند از هم جدا شده‌اند و زمان آغاز و پایان را مشخص می‌کنند (اگر زمان پایان کوچک‌تر از زمان آغاز باشد، فرض می‌شود که بر روز بعد اعمال می‌گردد).

برای اینکه قاعده‌ای فعال شود، باید تمام موارد service+ttys+users توسط فرآیند درخواست‌کننده ارضا شوند.

توجه: در حال حاضر هیچ دیمنی برای پایان اجباری نشست وجود ندارد. این مسئله باید برطرف شود.

قواعد با قالب‌بندی نادرست به عنوان خطا با استفاده از syslog(3) ثبت می‌شوند.

این‌ها چند خط نمونه هستند که ممکن است در /etc/security/time.conf مشخص شوند.

دسترسی تمام کاربران به جز root به console-login در تمام زمان‌ها رد می‌شود:

login ; tty* & !ttyp* ; !root ; !Al0000-2400

بازی‌ها (پیکربندی‌شده برای استفاده از PAM) فقط خارج از ساعات کاری قابل دسترسی هستند. این قاعده بر کاربر waster اعمال نمی‌شود:

games ; * ; !waster ; Wd0000-2400 | Wk1800-0800

pam_time(8), pam.d(5), pam(8)

pam_time توسط Andrew G. Morgan <morgan@kernel.org> نوشته شده است.

01/26/2026 Linux-PAM