Как да изброите потребители в Linux

How List Users Linux



Linux е многопотребителска операционна система. За да се поддържа системата функционална и продуктивна, правилното управление на потребителите е задължително. За системния администратор е необходимо да се знаят всички потребители за управление на потребители и разрешения.

Това ръководство демонстрира как да изброите потребители в Linux.







Изброяване на потребители

Системата съхранява списъка с потребители в определени файлове и бази данни. Достъпваме до тях с помощта на различни инструменти. Можем също така да филтрираме изхода, за да събираме конкретна информация.



Списък на потребителите от /etc /passwd
Файлът /etc /passwd е базирана на обикновен текст база данни, която съдържа информация за всички потребители в системата. Файлът е собственост на root с разрешение на файла 644. За по-задълбочено обяснение на разрешенията за файлове разгледайте това ръководство относно разрешенията и собствеността на Linux файлове.



Можем да проверим съдържанието на файла /etc /passwd, за да имаме изчерпателен списък на всички потребители в системата.





$ cat /etc /passwd | сортиране | по-малко

Всеки ред във файла обозначава уникално потребителско име и свързаната с него информация. Информацията е разделена на седем полета, разделени с двоеточия. Ето един кратък преглед на полетата.



  • Поле 1: Потребителското име на потребителя.
  • Поле 2: Описва дали потребителската парола е криптирана. Ако стойността е x, това означава, че паролата се съхранява в текстовия файл /etc /shadow. Това е защитен от системата файл, който изисква sudo привилегия за достъп.
  • Поле 3: UID (потребителски идентификатор) на потребителя.
  • Поле 4: GID (идентификатор на група) на потребителя.
  • Поле 5: Пълно потребителско име (GECOS).
  • Поле 6: Начална директория, предназначена за потребителя.
  • Поле 7: Черупката за вход на потребителя. По подразбиране тази стойност ще бъде зададена на /bin /bash.

Ако допълнителната информация не е необходима в момента, можем да ги пропуснем в изхода.

$ cat /etc /passwd | awk -F: '{print $ 1}' | вид

$ cat /etc /passwd | изрязване -d: -f1 | вид

Изброяване на потребители, използващи getent
Терминът getent е кратка форма за получаване на записи от административната база данни. Както се предполага, getent може да работи с различни административни бази данни. Вижте всички поддържани административни бази данни.

$ getent --help

Интересуваме се от базата данни passwd, тъй като тя съдържа информация за всички потребители в системата. Проверете passwd база данни с getent.

$ getent passwd | вид

Изходът е подобен на съдържанието на /etc /passwd. Имайте предвид, че тази команда getent ще показва потребители както от passwd, така и от LDAP бази данни, ако системата е конфигурирана да използва LDAP за удостоверяване на потребителя. За по-задълбочено използване разгледайте това ръководство за командата getent на Linux.

Можем да премахнем цялата допълнителна информация от изхода, като запазим само потребителското име.

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

$ getent passwd | изрязване -d: -f1 | вид

Изброяване на потребител на група
В Linux групите са организационни единици за организиране и администриране на потребителски акаунти. Помага за по -лесно управление на различните разрешения на системата и файловете.

За да изброим всички потребители от определена група потребители, можем да използваме getent.

$ getent група

Използване на списък с потребители

Вече знаем как да изброим всички потребители в системата. Ето няколко сценария за прилагане на тези знания.

Проверка на съществуването на потребителите
От списъка с потребители можем да проверим дали потребител съществува в системата на Linux. Инструментът getent може да провери дали потребителят съществува в системата.

$ getent passwd

Друг (макар и не толкова добър) метод е да използвате grep. Можем просто да филтрираме списъка с потребители, използвайки grep. Тъй като всеки потребител има свой собствен уникален запис, той няма да генерира никакви сблъсъци.

$ getent passwd | греп

Брой потребителски акаунти
Както видяхме досега, всички методи съобщават за уникален потребител във всеки ред на изхода. Като преброим номера на реда, можем да проверим колко потребители в момента има в системата.

За да преброим номера на реда, ще използваме тоалетна инструмент. Прехвърлете изхода getent към командата wc.

$ getent passwd | wc -l

Изброяване на свързани потребители
Ако са влезли няколко потребители, можем да проверим списъка с свързани потребители, използвайки Кой команда.

$ кой

В изхода има три различни колони с информация.

  • Колона 1: Свързаното потребителско име.
  • Колона 2: Видът на връзката към системата.
  • Колона 3: Началният час и датата на сесията.

Последни мисли

В този урок ние демонстрирахме как да изброим и филтрираме потребителите в системата. Той също така демонстрира някои от потенциалните употреби на списъка с потребители. Тези методи работят независимо от Linux дистрибуцията, която използвате.

Управлението на потребителите е голяма част от екосистемата на Linux. За да научите повече, разгледайте това задълбочено ръководство на как да изброявате и управлявате потребители в Linux .

Честит компютър!