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


اگر لینوکس به معنی وجود گزینههای نامحدود باشد، به معنی روشهای انتخاب نامحدود نیز هست. حتی برای اجرای وظیفه سادهای مانند تشخیص حساب کاربری فعال در لینوکس روشهای فراوانی وجود دارند. در این راهنما شیوه استفاده از برخی سریعترین و سادهترین راهکارها برای این موضوع را با هم بررسی میکنیم.
چرا نیاز به تشخیص حساب کاربری فعال در لینوکس داریم؟
شاید از خود بپرسید اصولاً چه نیازی هست که تشخص دهیم حساب کاربری فعال در لینوکس کدام است؟ در موارد متعدد، مالک رایانه تنها کاربر آن است و احتمالاً بدون نیاز به کسب معرفت در خصوص فلسفه وجودی خود، میتواند هویت خودش را تشخیص دهد. اما در موارد متعددی نیز افراد، حسابهای کاربری بیشتری ایجاد میکنند تا اعضای خانواده به رایانه دسترسی داشته باشند. همچنین در مواردی که به یک شِل ریموت وصل میشوید احتمالاً لازم خواهد بود نام کاربری را که با آن لاگین کردهاید، بدانید. اگر یک نشست لاگین شده را بدون وجود نام کاربری ببینید، چگونه میتوانید کاربر جاری را از خط فرمان تشخیص دهید؟
ابتدا آسانترین گزینه را بررسی میکنیم؛ تنها چیزی که لازم داریم این است که به اعلان فرمان نگاه کنیم. به صورت پیشفرض همه توزیعهای لینوکس، نام کاربری را در اعلان فرمان نمایش میدهند. همان طور که میبینید روش بسیار سادهای است و اصلاً به وارد کردن هیچ دستوری نیاز ندارد.
دستور who
اگر کاربری قالببندی اعلان خود را به وضعیت دیگری تغییر داده باشد، باید به روش دیگری هویت کاربر فعال را تشخیص دهیم. در این موارد، دستور who اطلاعاتی را که به دنبالش هستیم به ما ارائه میکند:
Who
خروجی دستور who نام کاربری فعالی را که در ترمینال لاگین کرده و همچنین تاریخ و زمان لاگین کردن را به دست میدهد. اگر این یک نشست ریموت باشد، محلی که از آن لاگین شده است را نیز اعلام میکند.
از طرف دیگر دستور whoami اطلاعات فشردهتری را ارائه میکند:
whoami
این پاسخ تککلمهای را با اکو کردن متغیر محیطی USER$ روی صفحه نیز میتوان به دست آورد:
echo $USER
دستور تک کلمهای w نیازمند وارد کردن و ارائه اطلاعات بیشتری است.
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 را وارد کنید و سپس با یک فاصله نام کاربر را وارد کرده و اینتر کنید. برای نمونه:
id dave
بدین ترتیب شناسه کاربر (uid)، شناسه گروه (gid) و گروههایی که کاربر عضو آنها است ارائه میشود. با استفاده از دستور groups به صورت زیر میتوانید نمایش تمیزتری از گروهها داشته باشید:
groups dave
پکیج finger
همچنین برای مشاهده یک جمعبندی زیبا میتوانید از دستور finger استفاده کنید. اگر این پکیج را روی سیستم خود ندارید، روی اوبونتو یا دیگر توزیعهای مبتنی بر دبیان، میتوانید آن را با دستور apt-get نصب کنید. روی توزیعهای دیگر لینوکس هم از ابزار مدیریت بستههای لینوکس برای نصب این پکیج بهره بگیرید:
sudo apt-get install finger
زمانی که finger نصب شد، میتوانید از آن برای نمایش برخی اطلاعات در مورد کاربر مورد نظر استفاده کنید:
finger dave
در اغلب سیستمهای لینوکسی برخی از این فیلدها خالی خواهند بود. موارد اداره، نام کامل و شماره تلفن به صورت پیشفرض گردآوری نمیشوند. فیلد No Plan به یک طرح قدیمی اشاره میکند که در آن میتوانستید برخی یادداشتها در مورد کاری که در حال انجام هستید یا قصد دارید انجام دهید، برای برخی افراد بگذارید. اگر فایل plan. را در پوشه home خود ویرایش کنید، محتوای این فایل به خروجی دستور finger الحاق میشود.
دسکتاپ GNOME
برای فهمیدن سریع نام کاربری که لاگین کرده و فعال است، در دسکتاپ GNOME که روی لینوکس اوبونتو و بسیاری از توزیعهای دیگر استفاده میشود، روی منوی سیستم در گوشه بالا-راست صفحه کلیک کنید. آخرین مدخل در منوی بازشدنی نام کاربر است. محیطهای دسکتاپ دیگر لینوکس نیز اصولاً نام کاربر را به روش ساده مشابهی نمایش میدهند.
این روش سادهای برای دریافت نام کاربر است و تنها به یک کلیک نیاز دارد، اما نکته جالب اینجا است که وقتی از آن استفاده میکنید، حس یک کارآگاه دیجیتال بودن را که در زمان استفاده از پوسته Bash به دست میآید، تجربه نخواهید کرد.
اگر این مطلب برای شما مفید بوده، آموزشهای زیر نیز به شما پیشنهاد میشوند:
- مجموعه آموزشهای لینوکس (Linux)
- گنجینه آموزش های لینوکس (Linux)
- مجموعه آموزشهای مهارتهای کاربردی کامپیوتر (ICDL)
- آموزش لینوکس مقدماتی – ساختار داخلی و ترمینال لینوکس
- سیستم عامل لینوکس — راهنمای جامع
==