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

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

Введение

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

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

Сначала создадим новую учётную запись пользователя с именем «joker».

  1. Откройте терминал. В Linux терминал — это текстовый интерфейс, в котором вы вводите команды.
  2. Введите следующую команду и нажмите Enter:
sudo useradd joker

Разберём команду:

  • sudo — команда, которая временно предоставляет привилегии суперпользователя (администратора). Мы используем её, потому что для создания нового пользователя требуются повышенные права.
  • useradd — команда для создания нового пользователя.
  • joker — имя создаваемого пользователя.

Примечание: если выполнить эту команду без sudo, появится ошибка «permission denied». Обычные пользователи не могут создавать новые учётные записи — это задача системного администратора.

На этом примере видна разница между суперпользователем и обычным пользователем. Обычный пользователь не может создавать учётные записи, но с помощью sudo может временно повысить свои привилегии для выполнения административной задачи.

  1. Чтобы проверить создание пользователя, найдите его запись в файле /etc/passwd:
sudo grep -w 'joker' /etc/passwd

Файл /etc/passwd можно сравнить с телефонной книгой учётных записей пользователей. Каждая строка соответствует одной учётной записи, а отдельные поля разделены двоеточиями (:).

Вы должны увидеть вывод, похожий на этот:

joker:x:5001:5001::/home/joker:/bin/sh

Эта строка содержит следующие сведения:

  • Имя пользователя: joker
  • Пароль: x (настоящий пароль хранится в другом защищённом месте)
  • ID пользователя: 5001
  • ID группы: 5001
  • Домашний каталог: /home/joker, но пока он ещё не создан
  • Оболочка по умолчанию: /bin/sh

Создание пользователя с домашним каталогом

Теперь создадим ещё одного пользователя с именем «bob» и сразу создадим для него домашний каталог.

  1. Выполните следующую команду:
sudo useradd -m bob

Параметр -m указывает системе создать домашний каталог пользователя. Домашний каталог — это личная папка, в которой пользователь может хранить свои файлы и настройки.

  1. Проверьте, что домашний каталог создан:
sudo ls -ld /home/bob

Вы должны увидеть вывод, похожий на этот:

drwxr-x--- 2 bob bob 57 Jan 19 13:33 /home/bob

Этот вывод содержит следующие сведения:

  • d в начале строки означает, что это каталог.
  • rwxr-x--- показывает, кто может читать, изменять содержимое и выполнять действия в этом каталоге.
  • Два значения bob показывают, что владельцем каталога является пользователь bob и его группа bob.
  • 57 — размер каталога в байтах.
  • Jan 19 13:33 — дата и время создания каталога.
  • /home/bob — путь к каталогу.

Установка пароля пользователя

Теперь зададим пароль для нового пользователя «joker».

  1. Выполните следующую команду:
sudo passwd joker
  1. Система попросит дважды ввести новый пароль. В этой лабораторной работе используйте простой пароль, например «password123».

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

  1. Если операция выполнена успешно, появится сообщение «passwd: password updated successfully».

Примечание: в реальных системах всегда используйте сложные уникальные пароли.

Linux хранит зашифрованные пароли в защищённом файле /etc/shadow. Это безопаснее, чем хранить их в /etc/passwd, где они были бы доступны для просмотра.

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

После создания учётной записи Linux позволяет изменять различные её параметры. В качестве примера изменим домашний каталог пользователя joker.

  1. Выполните следующую команду:
sudo usermod -d /home/wayne joker

Эта команда выполняет следующие действия:

  • usermod — команда для изменения параметров учётной записи.
  • -d /home/wayne указывает новый домашний каталог.
  • joker — пользователь, параметры которого мы изменяем.
  1. Проверьте изменение:
sudo grep -w 'joker' /etc/passwd

Параметр -w используется для поиска целого слова, а grep — для поиска этого слова в файле. В выводе вы должны увидеть, что домашний каталог пользователя joker изменился.

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

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

По умолчанию пользователь joker использует оболочку /bin/sh. sh (Bourne Shell) — базовая оболочка, доступная в большинстве Unix-подобных систем. bash (Bourne Again Shell) предоставляет больше возможностей и обычно удобнее для пользователя.

Изменение оболочки пользователя joker на bash даёт несколько преимуществ:

  • более понятный интерфейс командной строки;
  • расширенные возможности написания сценариев;
  • больше возможностей для настройки пользовательского окружения.

Выполните следующие действия:

  1. Измените оболочку пользователя joker по умолчанию на bash:
sudo usermod -s /bin/bash joker
  1. Проверьте изменение:
sudo grep -w 'joker' /etc/passwd

В конце записи пользователя joker должно появиться /bin/bash. Это означает, что теперь bash является оболочкой пользователя joker по умолчанию.

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

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

В Linux группы используются для организации пользователей и управления разрешениями. Одна из важных групп — sudo: она предоставляет пользователям административные привилегии. В качестве примера добавим пользователя joker в группу sudo.

Зачем добавлять пользователя в группу sudo?

  1. Администрирование системы: пользователи группы sudo могут выполнять общесистемные административные задачи.
  2. Установка программ: участники группы sudo могут устанавливать и обновлять пакеты программ.
  3. Изменение конфигурации: они могут изменять системные конфигурационные файлы.
  4. Управление пользователями: они могут создавать, изменять и удалять другие учётные записи.

Возможно, вы спросите: «Зачем добавлять пользователя в группу sudo, если всегда можно использовать команду sudo?» Вот причины:

  • Удобство: пользователи группы sudo могут использовать sudo без знания пароля root. Вместо этого они вводят собственный пароль.
  • Гранулярный контроль: системные администраторы могут настроить sudo так, чтобы определённые пользователи могли выполнять только конкретные команды с привилегиями суперпользователя.
  • Подотчётность: в отличие от совместного использования пароля root, sudo записывает, кто и какую команду выполнил, что повышает безопасность и облегчает отслеживание действий.
  • Безопасность: обычно безопаснее использовать именные учётные записи с доступом через sudo, чем сообщать пароль root нескольким администраторам.

В реальной системе обычно добавляют пользователя в группу sudo, если:

  • он является системным администратором или сотрудником ИТ-службы и регулярно выполняет задачи обслуживания;
  • он является разработчиком и должен устанавливать определённые программы или изменять систему для работы;
  • он является опытным пользователем, которому для отдельных задач нужны повышенные привилегии, но которому не следует сообщать пароль root.

Помните: добавление пользователя в группу sudo даёт ему значительный контроль над системой. Выполняйте это действие осторожно и только при необходимости.

Теперь добавим joker в группу sudo:

  1. Выполните команду:
sudo usermod -aG sudo joker

Эта команда выполняет следующие действия:

  • usermod — команда для изменения учётных записей пользователей.
  • -aG означает «добавить в группу» (добавить пользователя в группу, не удаляя его из других групп).
  • sudo — группа, в которую мы добавляем пользователя.
  • joker — пользователь, параметры которого мы изменяем.
  1. Проверьте изменение:
groups joker

В списке групп пользователя joker должна появиться группа sudo.

  1. Чтобы проверить результат, переключитесь на пользователя joker и выполните команду, для которой обычно нужны привилегии sudo:
su - joker

Эта команда переключает текущего пользователя (labex) на пользователя joker. Система попросит ввести пароль joker. Используйте пароль, который вы задали ранее: password123. При вводе пароля символы на экране отображаться не будут — это функция безопасности.

  1. Войдя как joker, попробуйте просмотреть файл, доступный обычно только root:
sudo cat /etc/shadow

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

  1. После завершения введите exit, чтобы вернуться к исходной учётной записи пользователя (labex).

Примечание: в рабочей системе тщательно проверяйте, кому предоставляете доступ к группе sudo. Большие полномочия требуют большой ответственности.

Блокировка и разблокировка учётных записей

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

  1. Заблокируйте учётную запись joker:
sudo passwd -l joker

Параметр -l блокирует пароль.

  1. Попробуйте переключиться на пользователя joker:
su - joker

Система попросит ввести пароль. Укажите пароль, который ранее задали для joker (если вы следовали нашей рекомендации — password123).

Должно появиться сообщение «authentication failure». Это означает, что учётная запись успешно заблокирована.

  1. Теперь разблокируйте учётную запись:
sudo passwd -u joker

Параметр -u разблокирует пароль.

  1. Снова попробуйте переключиться на пользователя joker:
su - joker

Введите пароль при появлении запроса. На этот раз переключение на пользователя joker должно завершиться успешно.

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

Удаление пользователя

В заключение научимся удалять пользователя. Удалим пользователя «bob», которого создали ранее.

  1. Удалите пользователя bob вместе с его домашним каталогом:
sudo userdel -r bob

Команда userdel удаляет учётные записи пользователей. Параметр -r удаляет домашний каталог пользователя и его почтовый ящик.

  1. Проверьте, что пользователь удалён:
sudo grep -w 'bob' /etc/passwd
sudo ls -ld /home/bob

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

Итоги

Поздравляем! Вы завершили лабораторную работу по управлению учётными записями пользователей в Linux. Вы научились:

  1. Создавать новые учётные записи пользователей.
  2. Задавать пароли пользователей.
  3. Изменять параметры пользователей, например домашний каталог и оболочку по умолчанию.
  4. Добавлять пользователей в группы.
  5. Блокировать и разблокировать учётные записи.
  6. Удалять учётные записи пользователей.

Вы также познакомились с важными понятиями Linux: файлом /etc/passwd, домашними каталогами, оболочками и группами пользователей. Это базовые навыки администрирования Linux. В реальных системах всегда соблюдайте политики безопасности вашей организации при управлении учётными записями пользователей.