Добавление пользователей в Linux

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

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

Введение

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

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

Учетные записи пользователей в Linux позволяют отдельным лицам получать доступ к системе с определенными правами доступа. Каждый пользователь имеет уникальное имя пользователя, идентификатор пользователя (UID), домашнюю директорию и оболочку по умолчанию.

На этом этапе вы создадите нового пользователя с именем "cipher" в системе.

  1. Откройте терминал в среде виртуальной машины LabEx. Терминал должен быть уже в стандартной директории /home/labex/project.

  2. Используйте команду useradd с соответствующими параметрами для создания нового пользователя:

sudo useradd -m -s /bin/bash cipher

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

  • sudo: Эта команда запускает указанную команду с привилегиями суперпользователя, которые необходимы для управления пользователями.
  • useradd: Это команда, используемая для создания нового пользователя.
  • -m: Этот параметр создает домашнюю директорию для нового пользователя по пути /home/cipher.
  • -s /bin/bash: Этот параметр устанавливает оболочку по умолчанию для пользователя в виде bash.
  • cipher: Это имя пользователя нового пользователя, которого мы создаем.
  1. Проверьте, что пользователь был успешно создан, просмотрев список домашних директорий:
ls -l /home

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

total 8
drwxr-xr-x 2 cipher cipher 4096 Oct 15 10:30 cipher
drwxr-xr-x 5 labex  labex  4096 Oct 15 10:00 labex

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

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

У каждой учетной записи пользователя должен быть надежный пароль, чтобы предотвратить несанкционированный доступ. На этом шаге вы установите пароль для пользователя "cipher", которого вы создали на предыдущем шаге.

  1. Используйте команду passwd для установки пароля для пользователя:
sudo passwd cipher
  1. Вам будет предложено ввести новый пароль дважды. Введите пароль по вашему выбору и нажмите Enter после каждой попытки ввода. Обратите внимание, что по соображениям безопасности введенный вами пароль не будет отображаться на экране.
New password:
Retype new password:

Если оба пароля совпадают, вы увидите подтверждающее сообщение:

passwd: password updated successfully
  1. Проверьте, что пароль был установлен, убедившись, что поле пароля в файле shadow больше не пустое:
sudo grep cipher /etc/shadow | cut -d: -f2 | grep -v '!'

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

Давайте подробно разберем команду проверки:

  • grep cipher /etc/shadow находит строку, содержащую нашего пользователя
  • cut -d: -f2 извлекает поле пароля (второе поле)
  • grep -v '!' показывает только строки, которые не содержат '!'

Последняя часть (grep -v '!') особенно важна, потому что в Linux:

  • У учетной записи без пароля или заблокированной учетной записи в поле пароля будет '!'
  • У учетной записи с действительным паролем будет зашифрованный хэш без '!'

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

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

После создания пользователя важно знать, как просматривать информацию о нем. Linux предоставляет несколько команд для этой цели.

  1. Сначала проверим основную информацию о пользователе "cipher" с помощью команды id:
id cipher

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

uid=1001(cipher) gid=1001(cipher) groups=1001(cipher)
  1. Теперь проверим запись пользователя в файле /etc/passwd, который содержит основную информацию о пользователях:
grep cipher /etc/passwd

Вывод будет строкой, содержащей поля, разделенные двоеточиями. Например:

cipher:x:1001:1001::/home/cipher:/bin/bash

Эти поля представляют:

  • Имя пользователя: cipher
  • Пароль: x (фактический пароль хранится в /etc/shadow)
  • Идентификатор пользователя: 1001
  • Идентификатор группы: 1001
  • Поле GECOS: (пусто в данном случае, часто содержит полное имя пользователя)
  • Домашняя директория: /home/cipher
  • Логин-оболочка: /bin/bash
  1. Вы также можете использовать команду finger для просмотра информации о пользователе в более удобочитаемом формате. Сначала установите пакет finger:
sudo apt-get update
sudo apt-get install -y finger
  1. Теперь используйте команду finger для просмотра информации о пользователе cipher:
finger cipher

Вывод будет отображать информацию в более человекочитаемом формате, включая статус входа и домашнюю директорию:

Login: cipher                           Name:
Directory: /home/cipher                 Shell: /bin/bash
Never logged in.
No mail.
No Plan.

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

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

  1. Сначала создадим новую группу с именем "crypto", в которую мы добавим нашего пользователя:
sudo groupadd crypto
  1. Теперь добавим пользователя "cipher" в группу "crypto" с помощью команды usermod:
sudo usermod -aG crypto cipher

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

  • sudo: Запускает команду с привилегиями суперпользователя
  • usermod: Команда для изменения учетной записи пользователя
  • -aG: Опция для добавления пользователя в группу (-a для добавления, -G для дополнительных групп)
  • crypto: Имя группы
  • cipher: Имя пользователя
  1. Проверьте, что пользователь был добавлен в группу, проверив группы, к которым он принадлежит:
groups cipher

В выводе должны быть указаны как группа "cipher", так и группа "crypto":

cipher : cipher crypto
  1. Вы также можете проверить запись группы в файле /etc/group:
grep crypto /etc/group

В выводе должны быть показаны группа и ее члены:

crypto:x:1002:cipher

Предоставление пользователю прав sudo

Для выполнения административных задач пользователям часто нужны повышенные привилегии. Команда sudo (superuser do) позволяет обычным пользователям выполнять команды с административными привилегиями. На этом этапе вы узнаете, как предоставить пользователю доступ с использованием sudo.

  1. В Ubuntu пользователи с доступом sudo обычно добавляются в группу "sudo". Добавьте пользователя "cipher" в группу sudo:
sudo usermod -aG sudo cipher
  1. Проверьте, что пользователь был добавлен в группу sudo:
groups cipher

Теперь в выводе должна быть указана группа "sudo":

cipher : cipher crypto sudo
  1. Протестируем доступ с использованием sudo, переключившись на пользователя "cipher" и попробовав выполнить команду с использованием sudo. Сначала переключитесь на пользователя cipher:
sudo su - cipher
  1. Теперь попробуйте выполнить команду, которая требует привилегий sudo:
sudo ls /root
  1. Вам будет предложено ввести пароль, который вы установили для пользователя cipher. После правильного ввода пароля команда должна выполниться успешно, показав содержимое директории /root.

  2. Выйдите из сессии пользователя cipher, чтобы вернуться к пользователю labex:

exit

Резюме

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

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