LASTLOG(8) دستورهای مدیریت سیستم (System Management Commands) LASTLOG(8)

lastlog - بررسی گزارش آخرین ورود تمام کاربران

lastlog [options]

دستور lastlog محتویات فایل گزارش آخرین ورود یعنی /var/log/lastlog را قالب‌بندی کرده و چاپ می‌کند. نام کاربری (login-name)، درگاه (port) و زمان آخرین ورود (last login time) چاپ خواهند شد. حالت پیش‌فرض (بدون گزینه‌ها) باعث می‌شود ورودی‌های lastlog بر اساس ترتیب آن‌ها در /etc/passwd مرتب و چاپ شوند.

گزینه‌هایی که برای دستور lastlog اعمال می‌شوند عبارتند از:

-b, --before DAYS

تنها رکوردهای lastlog قدیمی‌تر از DAYS (روز) را چاپ می‌کند.

-C, --clear

پاک کردن رکورد lastlog یک کاربر. این گزینه تنها همراه با -u (--user) قابل استفاده است.

-h, --help

نمایش پیام راهنما و خروج.

-R, --root CHROOT_DIR

اعمال تغییرات در دایرکتوری CHROOT_DIR و استفاده از فایل‌های پیکربندی از دایرکتوری CHROOT_DIR. تنها مسیرهای مطلق پشتیبانی می‌شوند. هیچ پشتیبانی از SELINUX وجود ندارد.

-S, --set

تنظیم رکورد lastlog یک کاربر روی زمان فعلی. این گزینه تنها همراه با -u (--user) قابل استفاده است.

-t, --time DAYS

چاپ رکوردهای lastlog جدیدتر از DAYS (روز).

-u, --user LOGIN|RANGE

چاپ رکورد lastlog کاربر(ان) مشخص‌شده.

کاربران را می‌توان با یک نام کاربری (login name)، یک شناسه عددی کاربر (numerical user ID) یا محدوده‌ای (RANGE) از کاربران مشخص کرد. این محدوده (RANGE) از کاربران را می‌توان با مقادیر کمینه و بیشینه (UID_MIN-UID_MAX)، یک مقدار بیشینه (-UID_MAX) یا یک مقدار کمینه (UID_MIN-) تعیین کرد.

-a

چاپ رکوردهای lastlog کاربرانی که حداقل یک بار وارد سیستم شده‌اند. رکوردهای کاربران با '**Never logged in**' را مستثنی می‌کند.

اگر کاربر هرگز وارد سیستم نشده باشد، پیام ** Never logged in** به جای درگاه و زمان نمایش داده خواهد شد.

تنها ورودی‌های مربوط به کاربران فعلی سیستم نمایش داده خواهند شد. ممکن است ورودی‌های دیگری برای کاربرانی که قبلاً حذف شده‌اند نیز وجود داشته باشد.

فایل lastlog یک پایگاه‌داده است که اطلاعات مربوط به آخرین ورود هر کاربر را دربردارد. نباید آن را چرخش دهید (rotate نکنید). این یک فایل خلوت (sparse file) است، بنابراین اندازه آن روی دیسک معمولاً بسیار کوچک‌تر از مقدار نمایش داده‌شده توسط "ls -l" است (که در صورت داشتن کاربرانی با UID بالا در passwd می‌تواند فایلی بسیار بزرگ را نشان دهد). می‌توانید اندازه واقعی آن را با "ls -s" مشاهده کنید.

متغیرهای پیکربندی زیر در /etc/login.defs رفتار این ابزار را تغییر می‌دهند:

LASTLOG_UID_MAX (number)

بالاترین شماره شناسه کاربر که ورودی‌های lastlog باید برای آن به‌روزرسانی شوند. از آنجا که شناسه‌های کاربری بالاتر معمولاً توسط سرویس‌های احراز هویت و هویت کاربر راه دور ردیابی می‌شوند، نیازی به ایجاد یک فایل خلوت عظیم lastlog برای آن‌ها نیست.

نبود گزینه LASTLOG_UID_MAX در پیکربندی به این معنی است که هیچ محدودیت شناسه کاربری برای نوشتن ورودی‌های lastlog وجود ندارد.

/var/log/lastlog

پایگاه‌داده زمان‌های ورود پیشین کاربران.

شکاف‌های بزرگ در شماره‌های UID باعث می‌شود برنامه lastlog مدت زمان بیشتری بدون هیچ خروجی روی صفحه اجرا شود (به عنوان مثال اگر در پایگاه‌داده lastlog هیچ ورودی برای کاربران با UID بین 170 و 800 وجود نداشته باشد، lastlog هنگام پردازش ورودی‌های با UIDهای 171-799 متوقف به نظر می‌رسد).

داشتن UIDهای بالا می‌تواند هنگام کار با /var/log/lastlog توسط ابزارهای خارجی مشکلاتی ایجاد کند. اگرچه فایل واقعی خلوت (sparse) است و فضای زیادی مصرف نمی‌کند، برخی برنامه‌ها به طور پیش‌فرض برای شناسایی فایل‌های خلوت طراحی نشده‌اند و ممکن است برای مدیریت آن‌ها به یک گزینه خاص نیاز داشته باشند.

login(1), passwd(5), shadow(5), lastlog2(8).

12/14/2025 shadow-utils