Поиск по сайту:

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


В качестве системного администратора Linux вам будет поручено обеспечить бесперебойную работу всех ИТ-операций в вашей организации. Учитывая, что некоторые ИТ-операции взаимосвязаны, системный администратор обычно выполняет множество функций, в том числе является администратором базы данных или сети.

Эта статья является Частью 5 серии LFCA. В этой части вы познакомитесь с общими командами системного администрирования для создания пользователей и управления ими в системе Linux.

Управление учетными записями пользователей в Linux

Одной из основных обязанностей системного администратора Linux является создание пользователей в системе Linux и управление ими. Каждая учетная запись пользователя имеет два уникальных идентификатора: имя пользователя и идентификатор пользователя (UID).

По сути, в Linux есть 3 основные категории пользователей:

Корневой пользователь

Пользователь root является самым влиятельным пользователем в системе Linux и обычно создается в процессе установки. Пользователь root имеет абсолютную власть в системе Linux или любой другой UNIX-подобной ОС. Пользователь может получить доступ ко всем командам, файлам и каталогам и изменить систему по своему усмотрению.

Пользователь root может обновлять систему, устанавливать и удалять пакеты, добавлять или удалять других пользователей, предоставлять или отзывать разрешения и выполнять любые другие задачи системного администрирования без каких-либо ограничений.

Пользователь root может делать в системе практически все, что угодно. В Linux и UNIX-подобных системах предполагается, что вы прекрасно знаете, что делаете с системой. Тем не менее, пользователь root может легко сломать систему. Все, что вам нужно, — это выполнить фатальную команду, и система превратится в дым.

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

Обычный пользователь

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

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

Сервисный аккаунт

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

Файлы управления пользователями

Информация о пользователях в системе 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: это ID пользователя. Это уникальный идентификатор для каждого пользователя.
  • GID: это идентификатор группы.
  • Краткое описание или резюме пользователя.
  • Это путь к домашнему каталогу пользователя. Для пользователя 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 полей. Начиная с крайнего левого угла, мы имеем:

  • имя пользователя: это ваше имя для входа.
  • пароль пользователя. Это представлено в хешированном или зашифрованном формате.
  • Последняя смена пароля. Это дата изменения пароля, которая рассчитывается с даты начала эпохи. Эпоха – 1 января 1970 года.
  • минимальный срок действия пароля. Это минимальное количество дней, которое должно пройти, прежде чем можно будет установить пароль.
  • Максимальный срок действия пароля. Это максимальное количество дней, по истечении которых пароль необходимо сменить.
  • Период предупреждения. Как следует из названия, это количество дней незадолго до истечения срока действия пароля, в течение которых пользователь уведомляется о приближающемся истечении срока действия пароля.
  • Период бездействия. Количество дней после истечения срока действия пароля, в течение которого учетная запись пользователя отключается без смены пароля пользователем.
  • Дата истечения срока действия. Дата истечения срока действия учетной записи пользователя.
  • Зарезервированное поле. – Это поле оставлено пустым.

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

В дистрибутивах Debian и Ubuntu для добавления пользователей используется утилита adduser.

Синтаксис довольно прост и понятен.

adduser username

Например, чтобы добавить пользователя по имени bob, выполните команду

adduser bob

В результате создается пользователь с именем «bob», который добавляется во вновь созданную группу с именем «bob». Кроме того, система также создает домашний каталог и копирует в него файлы конфигурации.

После этого вам будет предложено ввести пароль нового пользователя, а затем подтвердить его. Оболочка также запросит полное имя пользователя и другую дополнительную информацию, такую как номер комнаты и рабочий телефон. Эта информация на самом деле необязательна, поэтому ее можно пропустить. Наконец, нажмите 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

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

Заключение

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