اصلا چرا نیاز به تشخیص حساب کاربری فعال در لینوکس داریم ؟
در موارد زیادی مالک رایانه تنها کاربر آن است اما در برخی موارد افراد حساب های کاربری زیادی را ایجاد می کنند تا اعضای خانواده به رایانه دسترسی داشته باشند. همچنین ممکن است در برخی موارد به یک shell ریموت وصل شوید که احتمالا نیاز به لاگین هست که باید رمز عبور خود را وارد کنید .
اگر یک نشست لاگین شده را بدون وجود نام کاربری ببینید , چگونه میتوانید کاربر جاری را از طریق خط فرمان تشخیص دهید ؟
اگر کاربری قالببندی اعلان خود را به وضعیت دیگری تغییر داده باشد، باید به روش دیگری هویت کاربر فعال را تشخیص دهیم. در این موارد، دستور who اطلاعاتی را که به دنبالش هستیم به ما ارائه میکند :
خروجی این دستور نام کاربری فعالی که در ترمینال لاگین کرده را به همراه تاریخ و زمان لاگین کاربر نمایش می دهد .
از طرف دیگر دستور دیگری تحت عنوان whoami داریم که اطلاعاتی با جزئیات بیشتری در اختیار ما قرار می دهد
اما دستور تک کلمهای w نیازمند وارد کردن و ارائه اطلاعات بیشتری است :
دستور w نام کاربری را در اختیار ما قرار میدهد که مطابق خواست ما می باشد. این دستور مجموعه دادههای دیگری نیز ارائه میکند. توجه داشته باشید که اگر چند کاربر در سیستم لینوکس لاگین کرده باشند، دستور w همه آنها را فهرست میکند. ممکن است بخواهید بدانید که کاربری که مورد نظر شما است، در کدام ترمینال لاگین کرده است. اگر آنها مستقیماً در خود رایانه لاگین کرده باشند به صورت pts/o نمایش پیدا میکنند. بنابراین باید در خروجی دستور w به دنبال شکلی از 0: باشید.
دستور 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 به صورت زیر میتوانید نمایش تمیزتری از گروهها داشته باشید:
امیدوارم که این مطلب مورد توجه شما قرار گرفته باشد. برای مطلعه مقالات بیشتر می توانید به سایت ما هم سری بزنید :
www.semilearn.com