اگر لینوکس به معنی وجود گزینه‌های نامحدود باشد، به معنی روش‌های انتخاب نامحدود نیز هست. حتی برای اجرای وظیفه ساده‌ای مانند تشخیص حساب کاربری فعال در لینوکس روش‌های فراوانی وجود دارند. در این راهنما شیوه استفاده از برخی سریع‌ترین و ساده‌ترین راهکارها برای این موضوع را با هم بررسی می‌کنیم.

چرا نیاز به تشخیص حساب کاربری فعال در لینوکس داریم؟

شاید از خود بپرسید اصولاً چه نیازی هست که تشخص دهیم حساب کاربری فعال در لینوکس کدام است؟ در موارد متعدد، مالک رایانه تنها کاربر آن است و احتمالاً بدون نیاز به کسب معرفت در خصوص فلسفه وجودی خود، می‌تواند هویت خودش را تشخیص دهد. اما در موارد متعددی نیز افراد، حساب‌های کاربری بیشتری ایجاد می‌کنند تا اعضای خانواده به رایانه دسترسی داشته باشند. همچنین در مواردی که به یک شِل ریموت وصل می‌شوید احتمالاً لازم خواهد بود نام کاربری را که با آن لاگین کرده‌اید، بدانید. اگر یک نشست لاگین شده را بدون وجود نام کاربری ببینید، چگونه می‌توانید کاربر جاری را از خط فرمان تشخیص دهید؟

ابتدا آسان‌ترین گزینه را بررسی می‌کنیم؛ تنها چیزی که لازم داریم این است که به اعلان فرمان نگاه کنیم. به صورت پیش‌فرض همه توزیع‌های لینوکس، نام کاربری را در اعلان فرمان نمایش می‌دهند. همان طور که می‌بینید روش بسیار ساده‌ای است و اصلاً به وارد کردن هیچ دستوری نیاز ندارد.

تشخیص حساب کاربری جاری

دستور who

اگر کاربری قالب‌بندی اعلان خود را به وضعیت دیگری تغییر داده باشد، باید به روش دیگری هویت کاربر فعال را تشخیص دهیم. در این موارد، دستور who اطلاعاتی را که به دنبالش هستیم به ما ارائه می‌کند:

تشخیص حساب کاربری جاری

خروجی دستور who نام کاربری فعالی را که در ترمینال لاگین کرده و همچنین تاریخ و زمان لاگین کردن را به دست می‌دهد. اگر این یک نشست ریموت باشد، محلی که از آن لاگین شده است را نیز اعلام می‌کند.

از طرف دیگر دستور whoami اطلاعات فشرده‌تری را ارائه می‌کند:

تشخیص حساب کاربری جاری

این پاسخ تک‌کلمه‌ای را با اکو کردن متغیر محیطی USER$ روی صفحه نیز می‌توان به دست آورد:

تشخیص حساب کاربری جاری

دستور تک‌ کلمه‌ای w نیازمند وارد کردن و ارائه اطلاعات بیشتری است.

تشخیص حساب کاربری جاری

دستور w آن نام کاربری را در اختیار ما قرار می‌دهد که مطابق خواست ما است. این دستور مجموعه داده‌های دیگری نیز ارائه می‌کند. توجه داشته باشید که اگر چند کاربر در سیستم لینوکس لاگین کرده باشند، دستور w همه آن‌ها را فهرست می‌کند. ممکن است بخواهید بدانید که کاربری که مورد نظر شما است، در کدام ترمینال لاگین کرده است. اگر آن‌ها مستقیماً در خود رایانه لاگین کرده باشند به صورت pts/o نمایش پیدا می‌کنند. بنابراین باید در خروجی دستور w به دنبال شکلی از 0: باشید.

خروجی دستور w

دستور w اطلاعاتی از قبیل مدت زمانِ بوت شدن، مدت زمانِ روشن بودن و میانگین بار پردازنده را برای پنج دقیقه، ده دقیقه و پانزده دقیقه اخیر ارائه می‌کند. همچنین اطلاعاتی به شرح زیر در رابطه با کاربر جاری توسط این دستور ارائه می‌شود:

  • User – نام کاربر
  • TTY – نوع ترمینالی که کاربر در آن لاگین کرده است. این مورد معمولاً به صورت pts است. pts اختصاری برای عبارت «pseudo-teletype» (شبه تله‌تایپ) است. مقدار 0: نیز به این معنی است که یک کیبورد و صفحه فیزیکی به این رایانه اتصال یافته‌اند.
  • FROM – نام میزبان ریموتی است که اتصال ریموت از آن وارد شده است.
  • Login@ – زمانی است که کاربر لاگین کرده است.
  • IDLE – مدت زمان بیکاری سیستم را نشان می‌دهد. دلیل این که این مقدار روی صفحه به صورت ?xdm? نمایش یافته، این است که ما سیستم را تحت یک «X-windows Display Manager» اجرا کرده‌ایم که این اطلاعات را ارائه نمی‌کند.
  • JCPU – کل مدت زمانی است که تسک‌های ایجاد شده توسط کاربر در سشن پس از لاگین او، پردازنده را مورد استفاده قرار داده و آن را مشغول نگه داشته‌اند.
  • PCPU – زمان صرف شده برای یک «پراسس» (Process) یا فرایند کاری توسط پردازند؛ در اصل در این ستون مدت زمانی که فرآیند کاری فعال کنونی، پردازنده را مشغول کرده قابل مشاهده است. نام این فرآیند را نیز می‌توانید در ستون WHAT مشاهده کنید.

اکنون می‌دانیم که کاربر فعال کدام است و می‌توانیم اطلاعات بیشتری در مورد آن به دست بیاوریم. دستور id نقطه خوبی برای شروع به حساب می‌آید. دستور id را وارد کنید و سپس با یک فاصله نام کاربر را وارد کرده و اینتر کنید. برای نمونه:

تشخیص حساب کاربری جاری لینوکس

بدین ترتیب شناسه کاربر (uid)، شناسه گروه (gid) و گروه‌هایی که کاربر عضو آن‌ها است ارائه می‌شود. با استفاده از دستور groups به صورت زیر می‌توانید نمایش تمیزتری از گروه‌ها داشته باشید:

تشخیص حساب کاربری جاری لینوکس

پکیج finger

همچنین برای مشاهده یک جمع‌بندی زیبا می‌توانید از دستور finger استفاده کنید. اگر این پکیج را روی سیستم خود ندارید، روی اوبونتو یا دیگر توزیع‌های مبتنی بر دبیان، می‌توانید آن را با دستور apt-get نصب کنید. روی توزیع‌های دیگر لینوکس هم از ابزار مدیریت بسته‌های لینوکس برای نصب این پکیج بهره بگیرید:

زمانی که finger نصب شد، می‌توانید از آن برای نمایش برخی اطلاعات در مورد کاربر مورد نظر استفاده کنید:

تشخیص حساب کاربری جاری لینوکس

در اغلب سیستم‌های لینوکسی برخی از این فیلدها خالی خواهند بود. موارد اداره، نام کامل و شماره تلفن به صورت پیش‌فرض گردآوری نمی‌شوند. فیلد No Plan به یک طرح قدیمی اشاره می‌کند که در آن می‌توانستید برخی یادداشت‌ها در مورد کاری که در حال انجام هستید یا قصد دارید انجام دهید، برای برخی افراد بگذارید. اگر فایل plan. را در پوشه home خود ویرایش کنید، محتوای این فایل به خروجی دستور finger الحاق می‌شود.

دسکتاپ GNOME

برای فهمیدن سریع نام کاربری که لاگین کرده و فعال است، در دسکتاپ GNOME که روی لینوکس اوبونتو و بسیاری از توزیع‌های دیگر استفاده می‌شود، روی منوی سیستم در گوشه بالا-راست صفحه کلیک کنید. آخرین مدخل در منوی بازشدنی نام کاربر است. محیط‌های دسکتاپ دیگر لینوکس نیز اصولاً نام کاربر را به روش ساده مشابهی نمایش می‌دهند.

تشخیص حساب کاربری جاری لینوکس

این روش ساده‌ای برای دریافت نام کاربر است و تنها به یک کلیک نیاز دارد، اما نکته جالب اینجا است که وقتی از آن استفاده می‌کنید، حس یک کارآگاه دیجیتال بودن را که در زمان استفاده از پوسته Bash به دست می‌آید، تجربه نخواهید کرد.

اگر این مطلب برای شما مفید بوده، آموزش‌های زیر نیز به شما پیشنهاد می‌شوند:

==

میثم لطفی (+)

«میثم لطفی» دانش‌آموخته ریاضیات و شیفته فناوری به خصوص در حوزه رایانه است. وی در حال حاضر علاوه بر پیگیری علاقه‌مندی‌هایش در رشته‌های برنامه‌نویسی، کپی‌رایتینگ و محتوای چندرسانه‌ای، در زمینه نگارش مقالاتی با محوریت نرم‌افزار نیز با مجله فرادرس همکاری دارد.

آیا این مطلب برای شما مفید بود؟

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *