Як вивести список користувачів у Linux? (Список користувачів Debian)

Дистрибутиви Linux стали популярними серед технологічних компаній, дослідників і великих спільнот розробників застосунків. У таких середовищах керування обліковими записами користувачів у командних проєктах є необхідною умовою ефективної співпраці. У системах Linux адміністратори можуть безперешкодно взаємодіяти із системою та контролювати керування користувачами за допомогою різних команд.

Серед багатьох дистрибутивів Linux Ubuntu вирізняється як один із найпоширеніших і пропонує низку функцій, розрахованих на системних адміністраторів. Один із ключових аспектів системного адміністрування - виведення списку всіх користувачів і ефективне керування їхніми завданнями. Це полегшує надання привілеїв, як-от доступу до файлів або папок, і призначення дозволів для забезпечення безпеки даних системи.

У цій статті ми покажемо, як вивести список користувачів у Linux за допомогою інтерфейсу командного рядка. Усі розглянуті тут команди продемонстровано на дистрибутиві Ubuntu 22.04 LTS Jammy JellyFish. Розгляньмо ці команди, щоб ефективно керувати користувачами в системах Ubuntu.

Як вивести список користувачів у Linux? (Список користувачів Linux)

Існує два основні способи вивести список користувачів у дистрибутивах Linux.

  1. Виведення списку користувачів у Linux через перегляд вмісту файлу /etc/passwd.
  2. Виведення списку користувачів у Linux за допомогою команди getent.

Виведення списку користувачів у Linux через перегляд вмісту файлу /etc/passwd (команда Linux для списку користувачів)

Перший спосіб полягає в перегляді вмісту файлу /etc/passwd, у якому зберігаються дані всіх локальних користувачів. Переглянути вміст файлу /etc/passwd можна за допомогою таких команд, як cat або less:

$ cat /etc/passwd

Або

$ less /etc/passwd

Кожен рядок у файлі /etc/passwd містить інформацію про одного локального користувача. Ці рядки складаються з полів, розділених двокрапками. Для кожного користувача відображається така важлива інформація:

  • ім'я користувача для входу;
  • зашифрований пароль (зазвичай позначається як «x», оскільки сам пароль зберігається у файлі /etc/shadow);
  • ідентифікаційний номер користувача (UID);
  • ідентифікаційний номер групи користувача (GID);
  • повне ім'я користувача (часто його називають GECOS);
  • основний, або домашній, каталог користувача;
  • оболонка входу за замовчуванням, зазвичай /bin/bash.

Переглядаючи вміст файлу «/etc/passwd», адміністратори можуть дізнатися, які користувачі зареєстровані в системі, і отримати пов'язані з ними дані. Цей спосіб дає змогу просто вивести список користувачів у Linux.

Виведення списку користувачів Linux за допомогою команд awk і cut (команди Linux для списку користувачів)

Якщо потрібно вивести з файлу /etc/passwd лише імена користувачів у системі Linux, як-от Ubuntu, можна скористатися командою awk або cut. Це потужні інструменти обробки тексту, що дають змогу витягувати з файлу певні поля.

За допомогою команди awk можна легко отримати з файлу /etc/passwd перше поле, яке містить ім'я користувача. Синтаксис цієї команди такий:

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

Так само для цієї мети можна використати команду cut. Вона дає змогу вказати роздільник і номер поля, яке потрібно витягти. У цьому випадку ми використовуємо «:» як роздільник полів і «1», щоб вказати перше поле (ім'я користувача):

$ cut -d: -f1 /etc/passwd

Обидві ці команди виведуть лише імена всіх користувачів, зареєстрованих у вашій системі Linux, тобто це лаконічний спосіб отримати саме цю інформацію з файлу /etc/passwd.

Виведення списку користувачів у Linux за допомогою команди getent 

Команда getent у Linux призначена для отримання записів з адміністративної бази даних за вказаними ключами пошуку. В Ubuntu getent збирає та відображає записи з бази даних, налаштованої у файлі /etc/nsswitch.conf. За допомогою цієї команди можна запитувати базу даних passwd і виводити список користувачів.

Щоб вивести список користувачів Ubuntu, просто виконайте таку команду:

$ getent passwd

Якщо потрібно вивести лише імена користувачів, можна поєднати команду getent з «awk» або «cut». Ось як це зробити за допомогою awk:

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

Такий самий результат можна отримати за допомогою команди cut:

$ getent passwd | cut -d: -f1

Обидві ці команди з getent дають змогу вивести список користувачів у Linux або отримати певну інформацію, як-от імена користувачів.

Перевірка користувачів у Linux за допомогою команд getent і grep

За допомогою команди getent можна з'ясувати, чи існує певний користувач у вашій системі Ubuntu Linux. Поєднавши getent із grep, можна швидко перевірити наявність користувача. Синтаксис такий:

$ getent passwd | grep user-name

Наприклад, припустімо, ми хочемо визначити, чи існує в нашій системі користувач з іменем «samreena». Для цього виконаємо таку команду:

$ getent passwd | grep username

Якщо вказаний користувач «samreena» існує у вашій системі Ubuntu, команда відобразить пов'язані з ним дані облікового запису. Якщо ж користувача з таким іменем немає, команда нічого не виведе.

Також можна перевірити наявність користувача безпосередньо, без команди grep, вказавши ім'я користувача після getent passwd:

$ getent passwd user_name

Виведення списку всіх підключених користувачів у Linux

Щоб вивести список усіх користувачів, які зараз підключені до хоста Linux, команди cat для файлу passwd недостатньо. Натомість слід виконати команду «who» або «users».

$ who 
$ users

Команда «who» або «users» виводить список користувачів, які зараз увійшли в систему. Ці команди надають інформацію в реальному часі про підключення користувачів до хоста Linux.

Виведення списку користувачів у Linux для відображення всіх облікових записів

Щоб визначити загальну кількість облікових записів користувачів у системі Linux, можна скористатися командою «getent passwd» разом із «wc -l» для підрахунку рядків. 

$ getent passwd | wc -l

Ця команда отримує інформацію про облікові записи користувачів із системної бази даних паролів, а потім підраховує загальну кількість повернутих рядків, кожен з яких відповідає одному обліковому запису.

Вище ми розглянули, як вивести список користувачів у Linux за допомогою різних команд Linux. Ці команди допоможуть вам керувати обліковими записами користувачів у вашій системі Linux.

Висновок

Linux пропонує низку команд, які є незамінними інструментами для системних адміністраторів під час керування обліковими записами користувачів і забезпечення безпеки системи. У цьому гайді ми дізналися, як вивести список користувачів у Linux. 

Використовуючи такі команди, як «getent passwd», адміністратори можуть легко отримувати вичерпні дані про користувачів своїх систем, що дає їм змогу контролювати доступ, застосовувати політики безпеки та усувати будь-які проблеми, що можуть виникнути. 

Розуміння цих команд і їхніх аргументів необхідне адміністраторам для ефективного керування користувачами та підтримання цілісності й безпеки своїх систем Linux або серверів Linux VPS. Маючи ці інструменти, адміністратори можуть упевнено працювати з аспектами системного адміністрування, пов'язаними з користувачами, і створювати надійне та добре захищене обчислювальне середовище.