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

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

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

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


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/UserandGroupManagementGroup(["User and Group Management"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/UserandGroupManagementGroup -.-> linux/useradd("User Adding") linux/UserandGroupManagementGroup -.-> linux/usermod("User Modifying") linux/UserandGroupManagementGroup -.-> linux/groups("Group Displaying") linux/UserandGroupManagementGroup -.-> linux/id("User/Group ID Displaying") subgraph Lab Skills linux/cat -.-> lab-271427{{"Модификация пользователей Linux"}} linux/useradd -.-> lab-271427{{"Модификация пользователей Linux"}} linux/usermod -.-> lab-271427{{"Модификация пользователей Linux"}} linux/groups -.-> lab-271427{{"Модификация пользователей Linux"}} linux/id -.-> lab-271427{{"Модификация пользователей Linux"}} end

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

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

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

sudo useradd temporaryuser

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

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

grep temporaryuser /etc/passwd

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

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

sudo usermod -l permanentuser temporaryuser

Опция -l указывает, что мы хотим изменить имя для входа. После выполнения этой команды пользователь, ранее известный как 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.

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

Каждый пользователь в 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, будь то рабочая станция для одного пользователя, сервер для нескольких пользователей или корпоративная среда с большим количеством пользователей, которым требуется различный уровень доступа.