Модификация пользователей Linux

LinuxBeginner
Практиковаться сейчас

Введение

Управление пользователями является фундаментальным аспектом администрирования системы Linux. Независимо от того, настраиваете ли вы личный компьютер, управляете сервером или работаете в многопользовательской среде, понимание того, как создавать, изменять и управлять учетными записями пользователей, является обязательным.

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

Создание и переименование пользователя

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

Сначала откройте свой терминал. Вы должны находиться в каталоге ~/project. Начнем с создания нового пользователя с именем temporaryuser:

sudo useradd temporaryuser

Эта команда создает новую учетную запись пользователя в системе. По умолчанию useradd не создает домашний каталог и не устанавливает пароль.

Теперь давайте проверим, был ли пользователь успешно создан:

grep temporaryuser /etc/passwd

Вы должны увидеть запись для temporaryuser в выводе, подтверждающую, что пользователь был создан.

Далее мы переименуем этого пользователя с temporaryuser на permanentuser с помощью команды usermod:

sudo usermod -l permanentuser temporaryuser

Опция -l указывает, что мы хотим изменить имя входа (login name). После выполнения этой команды пользователь, ранее известный как temporaryuser, теперь будет известен как permanentuser.

Давайте убедимся, что имя пользователя было изменено:

grep permanentuser /etc/passwd

Вы должны увидеть запись пользователя с новым именем permanentuser.

Теперь давайте создадим и назначим домашний каталог для этого пользователя:

sudo usermod -d /home/permanentuser -m permanentuser

В этой команде:

  • -d указывает новый путь к домашнему каталогу
  • -m создает новый домашний каталог, если он не существует, или перемещает содержимое из старого домашнего каталога в новый, если оба существуют

Давайте убедимся, что домашний каталог был создан:

ls -ld /home/permanentuser

Вы должны увидеть вновь созданный домашний каталог для permanentuser.

Добавление пользователя в группы

В Linux группы используются для организации пользователей и управления правами доступа. Добавление пользователя в определенные группы - это важный способ предоставить ему доступ к определенным ресурсам или функционалу.

Сначала проверим, к каким группам сейчас принадлежит наш пользователь:

groups permanentuser

По умолчанию, когда вы создаете пользователя с помощью команды useradd, пользователю назначается основная группа с тем же именем, что и имя пользователя.

Теперь проверим, существует ли группа sudo в вашей системе:

grep sudo /etc/group

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

Добавим нашего пользователя в группу sudo:

sudo usermod -aG sudo permanentuser

В этой команде:

  • -a означает "добавить", что гарантирует, что мы добавляем пользователя в группу, не удаляя его из других групп
  • -G указывает на группу(-ы), в которую(-ые) должен быть добавлен пользователь
  • sudo - это имя группы
  • permanentuser - это пользователь, которого мы изменяем

Проверим, что пользователь был добавлен в группу sudo:

groups permanentuser

В выводе теперь должен быть список групп, включающий sudo.

Вы также можете проверить принадлежность к группе, посмотрев в файл /etc/group:

grep sudo /etc/group

В выводе должен быть список членов группы sudo, включающий permanentuser.

Изменение оболочки пользователя

Каждый пользователь в Linux имеет стандартную оболочку (shell), которая определяет интерфейс командной строки, используемый им при входе в систему. На этом этапе вы узнаете, как изменить оболочку входа пользователя.

Сначала проверим текущую оболочку, назначенную нашему пользователю:

grep permanentuser /etc/passwd

Посмотрите на последнее поле в выводе. Оно должно показать текущую оболочку, которая обычно /bin/sh для пользователей, созданных с помощью useradd без дополнительных параметров.

Теперь изменим оболочку на Bash, которая является более функциональной оболочкой:

sudo usermod -s /bin/bash permanentuser

Опция -s указывает новую оболочку входа для пользователя.

Проверим, что оболочка была изменена:

grep permanentuser /etc/passwd

В конце строки теперь должно быть указано /bin/bash как оболочка для permanentuser.

Различные оболочки предоставляют разные функции и пользовательские опыты. Bash является одной из самых популярных оболочек, так как предлагает такие продвинутые функции, как:

  • Автодополнение команд
  • Навигация по истории команд
  • Настраиваемые приглашения командной строки
  • Возможности скриптинга с функциями и структурами управления

Другие распространенные оболочки в Linux включают:

  • /bin/sh - Bourne Shell, базовая оболочка
  • /bin/zsh - Z Shell, с дополнительными функциями по сравнению с Bash
  • /bin/dash - Debian Almquist Shell, легковесная оболочка

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

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

Системные администраторы часто должны создавать временные учетные записи или обеспечивать периодический аудит учетных записей. На этом этапе вы узнаете, как установить дату истечения срока действия учетной записи и просмотреть полную информацию о пользователе.

Установка даты истечения срока действия учетной записи

Установим дату истечения срока действия для учетной записи permanentuser. Это полезно для временных пользователей или подрядчиков, которые должны иметь доступ только в определенный период.

sudo usermod -e 2023-12-31 permanentuser

Опция -e устанавливает дату истечения срока действия в формате ГГГГ-ММ-ДД. После этой даты учетная запись будет автоматически отключена.

Чтобы проверить, что дата истечения срока действия была установлена:

sudo chage -l permanentuser

Команда chage -l отображает информацию о сроке действия учетной записи. В выводе будет строка "Account expires", показывающая дату, которую вы только что установили.

Просмотр подробной информации о пользователе

В Linux есть несколько команд для просмотра информации о пользователях. Исследуем их:

  1. Проверка идентификатора пользователя, идентификатора группы и принадлежности к группам:
id permanentuser

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

  1. Просмотр статуса пароля и информации о сроке действия:
sudo passwd -S permanentuser

Эта команда показывает статус пароля (заблокирован, истек срок действия и т.д.) и дату последнего изменения.

  1. Просмотр всех пользователей в системе:
cat /etc/passwd | grep -v nologin | grep -v false

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

  1. Просмотр всех групп в системе:
cat /etc/group

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

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

Резюме

В этом практическом занятии вы узнали основные задачи по управлению пользователями в Linux:

  1. Создание пользователя и переименование его с помощью команды usermod -l
  2. Настройка домашней директории для пользователя с помощью usermod -d -m
  3. Добавление пользователя в дополнительные группы с помощью usermod -aG
  4. Изменение оболочки входа пользователя с помощью usermod -s
  5. Установка дат истечения срока действия учетных записей с помощью usermod -e
  6. Просмотр информации о пользователях с помощью команд, таких как id, chage, и изучение системных файлов

Эти навыки управления пользователями являются фундаментальными для любого администратора Linux. Команда usermod предоставляет универсальный набор инструментов для изменения атрибутов пользователей без необходимости удаления и пересоздания учетных записей.

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