Как администратор Linux-системы, вам будет поручено обеспечить бесперебойную работу всех IT-операций в вашей организации. Учитывая, что некоторые IT-операции взаимосвязаны, системный администратор обычно носит много шапок, включая администратора баз данных или сети.
Эта статья – Часть 5 серии LFCA, здесь в этой части вы познакомитесь с общими командами администрирования системы для создания и управления пользователями в системе Linux.
Управление учетными записями пользователей в Linux
Одна из основных обязанностей администратора Linux-системы – создание и управление пользователями в системе Linux. У каждой учетной записи пользователя есть 2 уникальных идентификатора: имя пользователя и идентификатор пользователя (UID).
По сути, существуют 3 основных категории пользователей в Linux:
Пользователь root
Пользователь root – самый мощный пользователь в системе Linux и обычно создается во время процесса установки. Пользователь root обладает абсолютной властью в системе Linux или любой другой операционной системе UNIX-подобного типа. Пользователь может получить доступ ко всем командам, файлам и каталогам, а также изменять систему по своему усмотрению.
Пользователь root может обновлять систему, устанавливать и удалять пакеты, добавлять или удалять других пользователей, предоставлять или отзывать разрешения и выполнять любую другую административную задачу в системе без ограничений.
Пользователь root может делать практически все на системе. Предполагается, что в Linux и UNIX-подобных системах вы отлично знаете, что делаете с системой. Однако пользователь root легко может повредить систему. Достаточно выполнить фатальную команду, и система будет повреждена.
По этой причине выполнение команд от имени пользователя root крайне не рекомендуется. Вместо этого хорошая практика требует, чтобы вы настроили пользователя sudo. То есть предоставили права sudo обычному пользователю для выполнения определенных административных задач и ограничили выполнение некоторых задач только пользователю root.
Обычный пользователь
A regular user is a normal login user that can be created by a systems administrator. Usually, there is a provision to create one during the installation process. However, you can still create as many regular users as needed post-installation.
A regular user can only perform tasks and access files and directories for which they are authorized. If need be, a regular user can be granted elevated privileges to perform administrative-level tasks. Regular users can also be deleted or disabled when the need arises.
Учетная запись службы
Это учетная запись без входа в систему, создаваемая при установке программного обеспечения. Такие учетные записи используются службами для выполнения процессов в системе. Они не предназначены и не предназначены для выполнения рутины или административных задач в системе.
Файлы управления пользователями
Информация о пользователях в системе Linux хранится в следующих файлах:
- Файл /etc/passwd
- Файл /etc/group
- Файл /etc/gshadow
- Файл /etc/shadow
Давайте разберем каждый файл и его назначение:
Файл /etc/passwd
Файл /etc/passwd содержит много информации о пользователях, которая находится в различных полях. Чтобы просмотреть содержимое файла, просто используйте команду cat, как показано.
$ cat /etc/passwd
Вот отрывок из вывода.
tecmint:x:1002:1002:tecmint,,,:/home/tecmint:/bin/bash
Давайте сосредоточимся на первой строке и разберем различные поля. Начиная с самого левого, у нас есть следующее:
- Имя пользователя: Это имя пользователя, в данном случае, tecmint.
- Пароль: Второй столбец представляет собой зашифрованный пароль пользователя. Пароль не печатается в виде обычного текста, вместо этого используется заполнитель с символом x.
- UID: Это идентификатор пользователя. Это уникальный идентификатор для каждого пользователя.
- GID: Это идентификатор группы.
- A brief description or summary of the user.
- Это путь к домашнему каталогу пользователя. Для пользователя tecmint у нас есть /home/tecmint.
- Это входной оболочка. Для обычных пользователей это обычно представлено как /bin/bash. Для служебных учетных записей, таких как SSH или MySQL, это обычно представлено как /bin/false.
Файл /etc/group
Этот файл содержит информацию о группах пользователей. Когда создается пользователь, оболочка автоматически создает группу, соответствующую имени пользователя. Это известно как основная группа. Пользователь добавляется в основную группу при создании.
Например, если вы создаете пользователя по имени bob, система автоматически создает группу по имени bob и добавляет пользователя bob в эту группу.
$ cat /etc/group tecmint:x:1002:
Файл /etc/group имеет 3 столбца. Слева направо у нас есть:
- Имя группы. Каждое имя группы должно быть уникальным.
- Пароль группы. Обычно обозначается заполнителем x.
- Идентификатор группы (GID)
- Члены группы. Это пользователи, принадлежащие к группе. Это поле оставляется пустым, если пользователь является единственным членом группы.
ПРИМЕЧАНИЕ: Пользователь может быть членом нескольких групп. Точно так же группа может иметь несколько членов.
Чтобы подтвердить группы, к которым принадлежит пользователь, выполните команду:
$ groups username
Например, чтобы проверить группы, к которым принадлежит пользователь tecmint, выполните команду:
$ groups tecmint
Результат подтверждает, что пользователь принадлежит к двум группам: tecmint и sudo.
tecmint : tecmint sudo
Файл /etc/gshadow
Этот файл содержит зашифрованные или “теневые” пароли для групповых учетных записей и по соображениям безопасности не может быть доступен обычным пользователям. Его могут читать только пользователь root и пользователи с привилегиями sudo.
$ sudo cat /etc/gshadow tecmint:!::
Слева направо в файле содержатся следующие поля:
- Группа
- Зашифрованный пароль группы
- Администратор группы
- Члены группы
Файл /etc/shadow
Файл /etc/shadow содержит истинные пароли пользователей в хэшированной или зашифрованной форме. Еще раз, поля разделены колонкой и имеют формат, показанный ниже.
$ sudo cat /etc/shadow tecmint:$6$iavr8PAxxnWmfh6J$iJeiuHeo5drKWcXQ.BFGUrukn4JWW7j4cwjX7uhH1:18557:0:99999:7:::
В файле есть 9 полей. Commencing from the far left we have:
- Имя пользователя: Это ваше имя для входа.
- Пароль пользователя:. Это представлено в форме хэша или зашифровано.
- Дата последнего изменения пароля:. Это дата, с которой был изменен пароль и который рассчитывается с даты Unix epoch. Unix epoch 1 января 1970.
- Минимальный возраст пароля:. Это минимальное число дней, которое должно пройти, прежде чем можно установить пароль.
- Максимальный срок действия пароля:. Это максимальное число дней после которых пароль должен быть изменен.
- Период предупреждения:. Как можно понять из названия, это число дней незадолго до истечения срока действия пароля, в течение которых пользователю сообщается о наступающем истечении срока действия пароля.
- Период нейтральности:. Число дней после истечения срока действия пароля, после чего учетная запись пользователя выключается, если пользователь не изменил пароль.
- Дата истечения срока действия:. Дата, когда учетная запись пользователя истекла.
- Зарезервированное поле:. Это оставлено пустым.
Как добавить пользователей в Linux систему
Для дистрибутивов Debian и Ubuntu для добавления пользователей используется утилита adduser.
Синтаксис довольно прост и ясен.
# adduser username
Например, для добавления пользователя с именем bob выполните приказ
# adduser bob
Согласно выводу, был создан пользователь с именем ‘bob‘ и добавлен в новую группу с именем ‘bob‘. Кроме того, система также создает домашнюю директорию и копирует конфигурационные файлы в нее.
После этого вам будет предложено ввести пароль нового пользователя и подтвердить его. Shell также запросит имя пользователя и другую дополнительную информацию, такую как номер комнаты и рабочий телефон. Эта информация действительно необходима, поэтому можно пропустить ее. Наконец, нажмите ‘Y’
, чтобы подтвердить, что提供された情報は正しい.

Для систем на базе RHEL & CentOS используется команда useradd.
# useradd bob
Далее настройте пароль для пользователя с помощью команды passwd как показано ниже.
# passwd bob

Как удалить пользователя в Linux-системе
Чтобы удалить пользователя из системы, рекомендуется сначала заблокировать пользователя, чтобы он не мог войти в систему, как показано ниже.
# passwd -l bob
Если вы захотите, можете создать резервную копию файлов пользователя с помощью команды tar.
# tar -cvf /backups/bob-home-directory.tar.bz2 /home/bob

Наконец, чтобы удалить пользователя вместе с домашним каталогом, используйте команду deluser следующим образом:
# deluser --remove-home bob

Кроме того, вы можете использовать команду userdel, как показано.
# userdel -r bob
Обе команды полностью удаляют пользователя вместе с их домашними каталогами.
Заключение
Это был обзор команд управления пользователями, которые будут полезны, особенно при управлении учетными записями пользователей в вашем офисе. Время от времени попробуйте их, чтобы отточить свои навыки системного администрирования.
Source:
https://www.tecmint.com/linux-user-account-management/