PAM_KEYINIT(8) Linux-PAM Manual PAM_KEYINIT(8)

pam_keyinit - ماژول PAM برای مقداردهی اولیه جاکلیدی جلسه کاربر

pam_keyinit.so [debug] [force] [revoke]

ماژول PAM با نام pam_keyinit تضمین می‌کند که فرایند فراخواننده، یک جاکلیدی جلسه (session keyring) به غیر از جاکلیدی جلسه پیش‌فرض کاربر داشته باشد.

این ماژول بررسی می‌کند که آیا جاکلیدی جلسهٔ فرایند همان user-session-keyring(7) است یا خیر؛ و اگر چنین باشد، یک session-keyring(7) جدید ایجاد کرده و آن را جایگزین می‌کند. اگر جاکلیدی جلسه جدیدی ایجاد شود، پیوندی به user-keyring(7) در جاکلیدی جلسه نصب خواهد کرد تا کلیدهای مشترک برای کاربر به طور خودکار از طریق آن در دسترس باشند. از آن پس جاکلیدی جلسهٔ فرایند فراخواننده توسط تمام فرایندهای فرزند آن به ارث برده می‌شود مگر آنکه آن را لغو و بازنویسی کنند.

به منظور اجازه دادن به سایر ماژول‌های PAM برای ضمیمه کردن توکن‌ها به جاکلیدی، این ماژول هم یک مولفهٔ auth (محدود به pam_setcred(3)) و هم یک مولفهٔ session ارائه می‌دهد. جاکلیدی جلسه در ماژول فراخوانی‌شده ایجاد می‌شود. علاوه بر این، این ماژول باید در ابتدایی‌ترین نقطهٔ ممکن در پیکربندی PAM گنجانده شود.

این ماژول در درجهٔ اول برای استفاده توسط فرایندهای ورود (login) در نظر گرفته شده است. آگاه باشید که پس از جایگزینی جاکلیدی جلسه، جاکلیدی جلسهٔ قبلی و کلیدهای موجود در آن دیگر در دسترس نخواهند بود.

این ماژول به طور کلی نباید توسط برنامه‌هایی مانند su فراخوانی شود، زیرا معمولاً مطلوب است که مجموعه کلیدها به زمینهٔ (context) جایگزین منتقل شوند. کلیدها سیستم مجوزهای اختصاصی خود را برای مدیریت این موضوع دارند.

بستهٔ keyutils برای دستکاری مستقیم‌تر کلیدها استفاده می‌شود. این بسته را می‌توان از نشانی زیر دریافت کرد:

Keyutils[1]

debug

اطلاعات اشکال‌زدایی را با syslog(3) ثبت می‌کند.

force

باعث می‌شود جاکلیدی جلسهٔ فرایند فراخواننده بدون قید و شرط جایگزین شود.

revoke

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

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

PAM_SUCCESS

این ماژول معمولاً این مقدار را بازمی‌گرداند.

PAM_AUTH_ERR

شکست در احراز هویت.

PAM_BUF_ERR

خطای بافر حافظه.

PAM_IGNORE

مقدار بازگشتی باید توسط بخش توزیع PAM نادیده گرفته شود.

PAM_SERVICE_ERR

نام کاربری قابل تشخیص نیست.

PAM_SESSION_ERR

در صورتی که آرگومان‌های این ماژول نامعتبر باشند یا یک خطای سیستمی مانند ENOMEM رخ دهد، این مقدار بازگردانده می‌شود.

PAM_USER_UNKNOWN

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

این خط را به مدخل‌های ورود خود اضافه کنید تا هر جلسهٔ ورود با جاکلیدی جلسهٔ اختصاصی خود آغاز شود:

session  required  pam_keyinit.so

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

pam.conf(5), pam.d(5), pam(8), keyctl(1)

pam_keyinit توسط David Howells <dhowells@redhat.com> نوشته شده است.

1.
Keyutils
01/26/2026 Linux-PAM