شما برای مطالعه این مقاله فقط 7 دقیقه وقت نیاز دارید

How-to-list-linux-users
دسته بندی : آموزش لینوکس

نحوه لیست و مشاهده یوزرهای لینوکس + دستورات مهم و کاربردی

4.3/5 - (3 امتیاز)

لینوکس به عنوان یک سیستم عامل سریع و همه منظوره، این امکان را به کاربران می دهد که در صورت نیاز حساب های کاربری دیگری هم ایجاد کنند. این ویژگی به خصوص در دنیای برنامه نویسی و دسترسی به سرور لینوکس اهمیت دارد ولی ادمین سیستم یا سرور باید هر چند یک بار لیست مربوط به یورزهای لینوکس را بررسی کند و در صورت نیاز برای حفظ امنیت سیستم و داده ها، دسترسی های غیرمجاز را شناسایی و حذف کند.

امکان دسترسی چند کاربره به سیستم لینوکس یک ویژگی فوق العاده کاربردی است ولی به شرطی که ادمین با بررسی لیست کاربران و حذف دسترسی های غیرمجاز و غیرضروری، امنیت و پایداری سیستم خود را بالا ببرد.

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

اهمیت مشاهده لیست یوزرهای لینوکس

دلایل مختلفی برای ایجاد یوزرهای مختلف در سیستم یا سرور لینوکس وجود دارد که هر کدام از این کاربرها متناسب با مجوزهای دسترسی خود، فایل ها را دستکاری کنند و عملیات موردنیاز را انجام دهند. مخصوصاً اینکه اگر یک کاربر به خاطر یادگیری مهارت یا تمرین یک سری تسک ها از یک اکانت لینوکس استفاده می کند و بعدها به یک عنوان یک یوزر غیرفعال در سیستم باقی می ماند، جزو یوزرهایی است که بودن آنها در سیستم بی دلیل است و به خاطر دلایل امنیتی، بهتر است آن را پیدا کرده و از لیست یوزرهای لینوکس حذف کنید.

استفاده چند کاربره از لینوکس در دنیای سرورها هم اهمیت زیادی دارد ولی حساسیت آن به مراتب بیشتر است. نگهداری حساب هایی که دیگر نیاز به پیکربندی و دسترسی به سرور ندارند، یک آسیب پذیری محسوب می شود و بهتر است این کاربران را شناسایی کرده و حذف کنید.

بیایید از یک جنبه دیگر هم به مسئله نگاه کنیم. فرض کنید سیستم یا سرور لینوکس شما دچار افت عملکرد شده است و می خواهید ببینید که چند کاربر به صورت همزمان وارد سیستم شده اند. برای این کار می توانید از دستورات مشاهده یوزرهای لینوکس استفاده کنید و در صورت نیاز بر اساس قضاوتی که در مورد آنها انجام می دهید، در مورد ادامه فعالیت آنها تصمیم بگیرید.

البته، با سرور مجازی لینوکس (Buy Linux VPS) هم به راحتی می توانید از این قابلیت چندکاربره لینوکس بهره مند شوید منتها به شرطی که با استفاده از راهکارهایی مثل تنظیم کلید SSH لایه های امنیتی بیشتری به اتصالات کاربران اضافه کنید. همچنین، دستورات که در ادامه بررسی می کنیم برای سرور مجازی لینوکس هم کاربرد دارند و هر موقع که خواستید می توانید از آنها برای مشاهده لیست یوزرهای لینوکس استفاده کنید.

دیگر وقت آن است که روش های مشاهده لیست یوزرهای لینوکس را بررسی کنیم:

مشاهده تمام یوزرهای لینوکس با استفاده از فایل etc/passwd

اطلاعات تمام کاربران محلی سیستم لینوکس در فایل متنی etc/passwd ذخیره می شود و هر خط آن، اطلاعات مربوط به هر کاربر را نشان می دهد.

برای مشاهده محتوای این فایل می توانید از دستورات زیر استفاده کنید:

cat /etc/passwd

more /etc/passwd

less /etc/passwd

دستور cat برای باز کردن فایل اطلاعات کاربران

هر خط این فایل حاوی 7 فیلد است که با : جدا شده اند:

  1. نام کاربری
  2. رمز عبور (x به معنای این است که رمز در فایل etc/shadow ذخیره شده است).
  3. شناسه کاربر یا ID
  4. شناسه گروه کاربر
  5. اسم کامل کاربر
  6. دایرکتوری home کاربر
  7. پوسته ورود یا login shell

اگر فقط می خواهید اسم کاربران را ببینید، می توانید از دستورات awk و cut استفاده کنید و فیلد username را به صورت زیر جدا کنید:

awk -F: '{ print $1}' /etc/passwd

cut -d: -f1 /etc/passwd

مشاهده اسم یوزرهای لینوکس با awk

در واقع، آپشن های F و d به عنوان جداکننده عمل می کنند و چون فیلدهای این فایل با : جدا شده اند، این آپشن ها هم با : مقداردهی شده اند.

برای مشاهده تعداد کاربران می توانید از دستور wc استفاده کنید:

cat /etc/passwd | wc –l

شمارش تعداد کاربران

wc این کار را با شمردن تعداد خطوط انجام می دهد.

مشاهده لیست کاربران با دستور getent

این دستور محتوای پایگاه داده های که در فایل /etc/nsswitch.conf لیست شده اند را جستجو می کند و اطلاعات مربوط به کاربران و شبکه ها را نمایش می دهد.

محتوای این فایل به صورت زیر است:

etc/passwd یکی از پایگاه ها داده های مهم است که در این لیست قرار دارد و حاوی اطلاعات کاربران است.

برای مشاهده محتوای فایل /etc/passwd، دستور زیر را اجرا کنید:

getent passwd

دستورات getent برای مشاهده لیست یوزرهای لینوکس

خروجی این دستور هم شبیه خروجی دستور قبلی برای مشاهده محتوای فایل /etc/passwd است.

کلیک کنید  Arch Linux چیست؟

در صورت تمایل، برای مشاهده اطلاعات مربوط به یک کاربر خاص می توانید دستور getent را به دو صورت اجرا کنید:

getent passwd username

getent passwd | grep username

اگر چنین کاربری وجود داشت، اطلاعات مربوط به این کاربر به صورت 7 فیلد جداگانه نشان داده می شوند.

در این دستور هم می توانید از دستورات awk و cut برای مشاهده اسم کاربران استفاده کنید:

getent passwd | awk -F: '{ print $1}'

getent passwd | cut -d: -f1

برای اطلاع از تعداد یوزرهای لینوکس می توانید از دستور زیر هم استفاده  کنید:

getent passwd | wc –l

اگر میخواهید یک بازه برای ID های کاربران در نظر بگیرید، لیست یوزرهای لینوکس موجود در این بازه را ببینید، می توانید دستور getent را به صورت زیر اجرا کنید:

getent passwd {min..max}

getent passwd {1000..1500}

دستور getent با شناسه های کاربری

اگر میخواهید اسم کامل کاربرانی که ID آن ها در این باز قرار دارد را ببینید، دستور زیر را اجرا کنید:

getent passwd | awk -F: '{print $5}'

getent passwd {1000..1500} | cut -d: -f5

در صورت تمایل برای اطلاع از حداقل و حداکثر شماره ای که می توانید به کاربران اختصاص دهید، می توانید از دستور زیر استفاده کنید:

grep -E '^UID_MIN|^UID_MAX' /etc/login.defs

بازه شناسه های کاربری سیستم لینوکس

خروجی مربوط به سیستمی که این دستور را اجرا کردیم، به صورت زیر است:

شناسه های 0 تا 999 مخصوص کاربران سیستمی هستند که قبلاً توسط خود سیستم استفاده شده اند و 999 هم متعلق به کاربر روت است. یوزرهای جدید که توسط کاربران انسانی ایجاد می شوند، باید شناسه یا ID داشته باشند و اگر توسط خود کاربر انتخاب نشود، سیستم به صورت خودکار از بین بازه UID-MIN و UID-MAX به کاربر جدید یک ID اختصاص می دهد.

مشاهده لیست یوزرهای فعال در سیستم لینوکس

دستورات قبلی، لیست کاربرانی که اکنون به سیستم یا سرور لینوکس شما متصل هستند را ارائه نمی دهد. در حالی که این قضیه خیلی مهم تر است و اگر به خاطر افت عملکرد سیستم خود به یکی از کاربران مشکوک هستید، باید بتوانید به لیست کاربران فعال یا کاربرانی که اخیراً وارد سیستم شده اند، دسترسی پیدا کنید.

دستور زیر، اسم کاربرانی که در حال حاضر وارد سیستم شما شده اند را بر اساس حروف الفبا نشان می دهد:

users

دستور users

اگر نیاز به اطلاعات بیشتری دارید و می خواهید جزئیات بیشتری در مورد یوزرهای لینوکس که اکنون به سیستم شما دسترسی دارند را ببینید، از دستور زیر استفاده کنید:

who

دستور who

همچنین، با استفاده از آپشن های a و H می توانید زمان بیکاری و شماره فرآیند مربوط به پوسته ورود کاربر را ببینید:

who -a –H

دستور who با آپشن های اضافی

اگر می خواهید اطلاعاتی در مورد نحوه فعالیت کاربران فعال هم به دست بیاورید، می توانید از دستور w استفاده کنید:

w

دستور w

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

لیست مربوط به کاربران هم حاوی اطلاعات بیشتری مثل زمان ورود، مدت زمان بیکاری، زمان مصرفی کل فرآیند ها (JCPU)، زمان مصرفی فرآیندهای در حال اجرا (PCPU) و فرآیندهای در حال اجرا است.

برا مشاهده لیست کاربرانی که اخیراً وارد سیستم شده اند یا از سیستم خارج شده اند، می توانید از دستور last استفاده کنید:

last

البته، با اضافه کردن آپشن های p و now می توانید لیست کاربرانی که در حال حاضر وارد سیستم شده اند را ببینید:

last -p now

خروجی دستور last

دستور finger هم یکی دیگر از اطلاعات پرکاربرد است که اطلاعات بیشتری در مورد کاربرانی که وارد سیستم لینوکس شده اند ارائه می دهد.

برای نصب آن می توانید از دستور زیر استفاده کنید:

(اوبونتو و توزیع های مبتنی بر دبیان)

sudo apt-get install finger

(توزیع های مبتنی بر REHL مثل Centos)

sudo yum install finger

اکنون فقط کافی است دستور زیر را اجرا کنید تا اطلاعات مهمی مثل نام کاربری، تاریخ و زمان ورود و آدرس IP یوزرهای لینوکس را ببینید:

finger

خروجی دستور finger

البته اگر می خواهید اطلاعات مربوط به یک کاربر خاص را ببینید، دستور finger را به صورت زیر اجرا کنید:

finger user-name

البته، دستورات دیگری هم هستند که می توانید برای شناسایی و مشاهده لیست یوزرهای لینوکس استفاده کنید. مهم این است که با پیگیری به جا و سریع، جلوی هر گونه سوءاستفاده و نقص امنیتی را بگیرید.

کلام آخر

لینوکس یک سیستم عامل چند کاربره است و محدودیتی برای استفاده چند کاربر به صورت همزمان وجود ندارد. منتها به عنوان یک ادمین باید به فکر حفظ امنیت و عملکرد سیستم یا سرور لینوکس خود باشید و با بررسی لیست یوزرهای لینوکس، اقدامات لازم برای شناسایی کاربران غیرمجاز و حذف کاربرانی که مدتهاست از سیستم استفاده نمی کنند را انجام دهید تا عملکرد سیستم خود را به خطر نیاندازید.

از اینکه تا انتهای مقاله با ما همراه بودید، از شما متشکریم. امیدواریم که مطالعه این مقاله برای شما مفید واقع شده باشد. در صورت داشتن هرگونه سوال، درخواست و نیاز به راهنمایی، می توانید با ثبت نظر خود، با ما وارد ارتباط شوید تا هر چه زودتر به شما پاسخ دهیم.

سوالات متداول:

تمام اطلاعات مربوط به کاربران سیستم لینوکس در فایل /etc/passwd ذخیره شده اند.

مطالب مشابهی که شاید علاقمند باشید

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

دیدگاه های شما

8 اردیبهشت 1403
پرهام

با سلام و تشکر ببخشید ، بنده فقط جهت یک نصب ساده سرور خریدم و ازونجایی که دست دوستانی دادم ، فقط میخواستم بدونم وقتی دستور etc /passwd که میزنیم ، لیستی از اسامی میاره ، آیا بعضی از اینها فایل های سیستم هستند مثل backup یا sshd , که اگر اینطور است چرا در لیست کاربران میاد؟ تشکر

    8 اردیبهشت 1403
    زهرا پیرجانی

    سلام. بعضی وقتا خود سیستم عامل لینوکس یا بعضی از برنامه ها از حساب های کاربری سیستمی مثل backup و sshd برای انجام یه سری کارها استفاده می کنند که این حساب های کاربری برای کاربران عادی غیرقابل دسترس هستند و نمی تونید با استفاده از اونها وارد سیستم بشید. به طور خلاصه، این اسامی که می گید کاربران سیستمی هستند که برای اهداف خاصی مثلا بکاپ گیری از سیستم به کار میرن و مربوط به یک کاربر عادی نیستن.

8 اردیبهشت 1403
پرهام

ممنون از پاسخ خوب و به موقعتون خانم مهندس ، فقط چطوری میشه تشخیص داد که کدوم ها سیستمی هستن و کدوم ها نیستن؟ پیشاپیش سپاسگزارم

    8 اردیبهشت 1403
    زهرا پیرجانی

    ممنون 🙏. میتونید از طریق شناسه کاربر (ستون سوم خروجی)، نوع کاربر رو تشخیص بدید. شماره شناسه 0 برای کاربر روته، شماره های ۱ تا ۹۹ به کاربرای از قبل تعریف شده اختصاص دارن، شماره های ۱۰۰ تا ۹۹۹ توسط سیستم رزرو شدن و شناسه های ۱۰۰۰ به بعد به کاربرای عادی تعلق میگیرن.

برای دریافت این مقاله لطفا ایمیلتان را وارد کنید

می توانید مقاله را دانلود کنید یا پرینت بگیرید