Това ръководство демонстрира как да изброите потребители в 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 може да работи с различни административни бази данни. Вижте всички поддържани административни бази данни.
Интересуваме се от базата данни 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 може да провери дали потребителят съществува в системата.
Друг (макар и не толкова добър) метод е да използвате grep. Можем просто да филтрираме списъка с потребители, използвайки grep. Тъй като всеки потребител има свой собствен уникален запис, той няма да генерира никакви сблъсъци.
$ getent passwd | греп
Брой потребителски акаунти
Както видяхме досега, всички методи съобщават за уникален потребител във всеки ред на изхода. Като преброим номера на реда, можем да проверим колко потребители в момента има в системата.
За да преброим номера на реда, ще използваме тоалетна инструмент. Прехвърлете изхода getent към командата wc.
$ getent passwd | wc -l
Изброяване на свързани потребители
Ако са влезли няколко потребители, можем да проверим списъка с свързани потребители, използвайки Кой команда.
В изхода има три различни колони с информация.
- Колона 1: Свързаното потребителско име.
- Колона 2: Видът на връзката към системата.
- Колона 3: Началният час и датата на сесията.
Последни мисли
В този урок ние демонстрирахме как да изброим и филтрираме потребителите в системата. Той също така демонстрира някои от потенциалните употреби на списъка с потребители. Тези методи работят независимо от Linux дистрибуцията, която използвате.
Управлението на потребителите е голяма част от екосистемата на Linux. За да научите повече, разгледайте това задълбочено ръководство на как да изброявате и управлявате потребители в Linux .
Честит компютър!