Linux посмотреть всех пользователей centos

Как вывести список пользователей в Linux

Вы когда-нибудь хотели перечислить всех пользователей в вашей системе Linux или подсчитать количество пользователей в системе? Есть команды для создания пользователя, удаления пользователя, вывода списка пользователей, вошедших в систему, но какова команда для вывода списка всех пользователей в Linux?

Это руководство покажет вам, как составить список пользователей в системах Linux.

Получите список всех пользователей с помощью файла /etc/passwd

Информация о локальном пользователе хранится в /etc/passwd . Каждая строка в этом файле представляет информацию для входа в систему для одного пользователя. Чтобы открыть файл, вы можете использовать cat или less :

Каждая строка в файле содержит семь полей, разделенных двоеточиями, которые содержат следующую информацию:

  • Имя пользователя.
  • Зашифрованный пароль ( x означает, что пароль хранится в /etc/shadow ).
  • Идентификационный номер пользователя (UID).
  • Идентификационный номер группы пользователя (GID).
  • Полное имя пользователя (GECOS).
  • Домашний каталог пользователя.
  • Оболочка входа (по умолчанию /bin/bash ).

Если вы хотите отображать только имя пользователя, вы можете использовать команды awk или cut для печати только первого поля, содержащего имя пользователя:

root daemon bin sys sync . . sshd vagrant jack anne 

Получите список всех пользователей с помощью команды getent

Команда getent отображает записи из баз данных, настроенных в файле /etc/nsswitch.conf , включая базу данных passwd , которую можно использовать для запроса списка всех пользователей.

Чтобы получить список всех пользователей Linux, введите следующую команду:

Как видите, вывод такой же, как и при отображении содержимого файла /etc/passwd . Если вы используете LDAP для аутентификации пользователей, getent отобразит всех пользователей Linux как из файла /etc/passwd и из базы данных LDAP.

Вы также можете использовать awk или cut для печати только первого поля, содержащего имя пользователя:

Проверить, существует ли пользователь в системе Linux

Теперь, когда мы знаем, как составить список всех пользователей, чтобы проверить, существует ли пользователь в нашем Linux-сервере, мы можем просто отфильтровать список пользователей, передав его по конвейеру команде grep .

Например, чтобы узнать, существует ли в нашей системе Linux пользователь с именем jack мы можем использовать следующую команду:

Если пользователь существует, приведенная выше команда распечатает информацию для входа в систему. Нет вывода, что означает, что пользователь не существует.

Мы также можем проверить, существует ли пользователь, не используя команду grep как показано ниже:

Как и раньше, если пользователь существует, команда отобразит информацию для входа в систему.

Если вы хотите узнать, сколько учетных записей пользователей у вас в системе, getent passwd вывод getent passwd команде wc :

Читайте также:  Command to run program on linux

Как видно из вышеприведенного вывода, в моей системе Linux 33 учетных записи пользователей.

Системные и обычные пользователи

Технической разницы между системой и обычными (обычными) пользователями нет. Обычно пользователи системы создаются при установке ОС и новых пакетов. В некоторых случаях вы можете создать системного пользователя, который будет использоваться некоторыми приложениями.

Обычные пользователи — это пользователи, созданные пользователем root или другим пользователем с привилегиями sudo. Обычно у обычного пользователя есть настоящая оболочка входа в систему и домашний каталог.

У каждого пользователя есть числовой идентификатор пользователя, называемый UID. Если не указан при создании нового пользователя с помощью команды useradd , UID будет автоматически выбран из файла /etc/login.defs зависимости от UID_MIN и UID_MIN .

Чтобы проверить значения UID_MIN и UID_MIN в вашей системе, вы можете использовать следующую команду:

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

Из выходных данных выше мы видим, что все обычные пользователи должны иметь UID от 1000 до 60000. Знание минимального и максимального значения позволяет нам запрашивать список всех обычных пользователей в нашей системе.

Команда ниже перечислит всех обычных пользователей в нашей системе Linux:

vagrant:x:1000:1000:vagrant. /home/vagrant:/bin/bash jack:x:1001:1001. /home/jack:/bin/bash anne:x:1002:1002:Anne Stone. /home/anne:/bin/bash patrick:x:1003:1003:Patrick Star. /home/patrick:/usr/sbin/nologin

UID_MIN и UID_MIN вашей системы могут отличаться, поэтому более общая версия приведенной выше команды будет:

eval getent passwd <$(awk '/^UID_MIN/ ' /etc/login.defs)..$(awk '/^UID_MAX/ ' /etc/login.defs)>

Если вы хотите распечатать только имена пользователей, просто направьте вывод в команду cut :

eval getent passwd <$(awk '/^UID_MIN/ ' /etc/login.defs)..$(awk '/^UID_MAX/ ' /etc/login.defs)> | cut -d: -f1

Выводы

В этом руководстве вы узнали, как составлять список и фильтровать пользователей в вашей системе Linux, а также каковы основные различия между системными и обычными пользователями Linux.

Те же команды применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian и Linux Mint.

Не стесняйтесь оставлять комментарии, если у вас есть вопросы.

Источник

Как посмотреть список пользователей Linux

как узнать список пользователей linux

Привет всем любителям и почитателям альтернативных операционных систем! Я, конечно, чаще всего работаю в Windows, но и с «Пингвином» приходится довольно часто общаться. Недавно мне понадобилось посмотреть список пользователей из старенького файлового сервера на Ubuntu Linux чтобы завести их всех на новом, более мощном под управлением CentOS. Старый уже практически отжил своё и вот-вот должен накрыться, но пока ещё запускается.
Итак, чтобы вывести список пользователей Линукс в консоли, достаточно просто вывести содержимое системного файла passwd , который лежит в директории /etc . Он содержит полную информацию о каждом логине.

смотрим пользователей ubuntu debian fedora

Делается это с помощью команды:

Чтобы исключить из списка системные учётные записи и вычленить только несистемные логины, воспользуйсь вот таким вариантом:

Если полная информация не нужна и достаточно всего лишь логинов, то лучше использовать вот такую команду:

как узнать список пользователей линукс

Мне именно такой вариант был удобнее, потому как я просто скопировал его и вставил в лист Excel, получив в каждой строчке по логину.

Есть и ещё один неплохой вариант получить список пользователей Linux (Ubuntu, Fedora, CentOS и т.д.) в консоли — это утилита getent . Она используется для того, чтобы выполнить чтение информации по базам данных операционной системы и вывести результат поиска. Команда будет выглядеть так:

Результат выполнения будет таким:

команда getent linux

И ещё! Иногда надо посмотреть список активных пользователей Linux, то есть тех, которые сейчас залогинен в системе. Для этого надо воспользоваться другой командой:

Этим Вы вызовите системную утилиту users, которая перечислит все текущие логины, которые подключились к системе в отсортированном по имени виде.
Альтернативным вариантом может служить команда:

как посмотреть пользователей linux

То есть Вы увидите таблицу, где будут отображены все виртуальные консоли с залогиненными в них юзерами.

Источник

How to List Users on CentOS

Linux based operating systems such CentOS are designed to work with mass number of users at the same time. If you’ve ever used shared Linux based web hosting, then you may have noticed. Your username may be something like xyz_232323. It technically means there are lot of users and each of the users are numbered. So as a Linux system administration, knowing how to list the users on CentOS and other Linux distribution is must.

In this article, I will show you how to list users on CentOS 7. Let’s get started.

The /etc/passwd File:

The users details are stored in /etc/passwd file on CentOS operating system. This is a plain text file. So you can read that with less or cat command as follows:

As you can see, a list of all the users is printed. Information about a single user is stored in a single line /etc/passwd file. Each line contains a lot of information about that specific users separated by colon (:)

A line in the /etc/passwd file contains the following information separated by colon (:)

Username : Password : UID : GID : User Details : Home Directory Path : Default Shell

Here, Username – The login name of the user. It can’t have spaces and other special characters. Only alpha-numeric characters are allowed.

Password – On Linux based operating system such as CentOS the password is stored on /etc/shadow file. If the password is set, x is stored in this field.

UID – On Linux based operating systems, each user has an alphanumeric name or Username and a numeric ID which is called User ID or UID. For ordinary users, the UID starts from 1000. The root user has the UID 0.

GID – On Linux based operating systems, each group has a group name and a numeric ID which is called Group ID or GID. On Linux, every user must be a member of at least one group. So for each user created, a group is also created with the same name as the user name. The user is then added to the group. In this field, the GID of the primary group is added. Primary group is the default group of the user. If a user is a member of many groups, he/she can change it while he/she is logged in with newgrp command. The GID for the ordinary groups starts at 1000. If your Linux system is not specifically configured, the GID should be the same as the UID. The root group has the GID 0.

User Details – This field keeps full name and other personal information about the user as comma separated list. The most common use of this field is to set the Full Name of the user. Just type in the Full Name of your username here and it should be set.

Home Directory Path – This field keeps the path to a directory where all the user files will be stored. The $HOME shell variable is set from this field.

Default Shell – On Linux based operating systems, you must have a shell set for your user. By default, the sh (/bin/sh) and bash (/bin/bash) shell should be set for ordinary users who are able to log in to the system . But there are other shells such as zsh, csh etc. The system users has /sbin/nologin shell set, so they won’t be able to log into the system. If you want to disable login for some user, just set this field for these users to /sbin/nologin.

You can get the same information as it is in the /etc/passwd file with the following command:

Output of the getent password:

Extracting only List of Username from /etc/passwd File:

The /etc/passwd file has a lot of information. If you want to extract only the username from the colon(:) separated list, then you can use awk or cut command to do that.

You can run the following command to extract the login name or username using the cut command:

As you can see, all the usernames are extracted.

You can do the same thing with awk as follows:

As you can see, I get the same output.

Listing Users that Can Login to the System:

If you want to list all the users that can login to your CentOS operating system, then run the following command:

As you can see, only 4 users of my CentOS machine are able to log in and other users are system users. They can’t log in to the system.

So that’s how you list users on CentOS. Thanks for reading this article.

About the author

Shahriar Shovon

Freelancer & Linux System Administrator. Also loves Web API development with Node.js and JavaScript. I was born in Bangladesh. I am currently studying Electronics and Communication Engineering at Khulna University of Engineering & Technology (KUET), one of the demanding public engineering universities of Bangladesh.

Источник

Оцените статью
Adblock
detector