LFCA: Управление учетными записями пользователей – Часть 5

Как администратор 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’, чтобы подтвердить, что提供された情報は正しい.

Add User in Ubuntu

Для систем на базе RHEL & CentOS используется команда useradd.

# useradd bob

Далее настройте пароль для пользователя с помощью команды passwd как показано ниже.

# passwd bob
Add User in CentOS

Как удалить пользователя в Linux-системе

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

# passwd -l bob

Если вы захотите, можете создать резервную копию файлов пользователя с помощью команды tar.

# tar -cvf /backups/bob-home-directory.tar.bz2  /home/bob
Lock User Account in Linux

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

# deluser --remove-home bob
Delete User in Linux

Кроме того, вы можете использовать команду userdel, как показано.

# userdel -r bob

Обе команды полностью удаляют пользователя вместе с их домашними каталогами.

Заключение

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

Source:
https://www.tecmint.com/linux-user-account-management/