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

    Команда Simple-Server
    03.06.2026
    15 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Кратко о задаче

    Чтобы арендовать облачный или выделенный сервер в Simple-Server, необходимо пройти регистрацию.

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

    • ФИО,

    • адрес электронной почты,

    • номер телефона.

    Также регистрацию можно пройти, воспользовавшись одним из сторонних сервисов: Google-аккаунт, ВКонтакте и GitHub.

    После регистрации на указанный адрес почты придет сообщение с ссылкой для активации аккаунта и входа в панель — перейдите по ней.

    Создание облачного сервера

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

    1. Переходим на страницу авторизации и входим в аккаунт при помощи логина или адреса электронной почты и пароля или при помощи ВКонтакте, GitHub, Google.

    2. После успешной авторизации отобразится панель управления текущего проекта. Переходим в раздел «Облачные серверы» и нажимаем «Создать» или «Добавить».

    3. Выбираем операционную систему, которая будет установлена на сервер. В нашем случае нам необходима Ubuntu версии 22.04.

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

    5. Далее выбираем необходимую конфигурацию для сервера:

    6. Далее необходимо решить, будет ли сервер доступен из внешний сети или же только из приватной (частной) сети.

    7. По желанию можно оформить дополнительные услуги, включая резервные копии и защиту от DDoS-атак (последняя доступна в Санкт-Петербурге и Москве).

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

    9. Можно задать необходимое имя для сервера которое будет отображаться в панели управления, а также выбрать проект.

    10. Для создания сервера необходимо нажать на кнопку «Заказать»:

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

    Где хранится информация о пользователях

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

    Структура файла passwd следующая:

    имя пользователя (логин):пароль:номер пользователя:номер группы пользователя:дополнительная информация:полный путь до домашней директории:полный путь до командной оболочки gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin

    Описание используемых полей в файле passwd:

    Имя пользователя — используется, например, для входа по протоколу SSH или при добавлении в определенную группу пользователей. Разрешенная длина для создания имени — от 1 до 32 символов.

    Пароль — в современных дистрибутивах Linux пароли не хранятся в открытом виде. Вместо самого пароля используется один из следующих символов:

    • x — означает, что пароль хранится в зашифрованном виде вместе с «солью» (произвольный набор символов, который добавляется к хэш-сумме пароля при его создании с целью затруднить подбор пароля при помощи хэш-суммы). Сам зашифрованный пароль хранится в файле /etc/shadow;
    • ***** — означает, что у пользователя нет прав на вход в операционную систему.

    Если же у пользователя отсутствует один из вышеперечисленных символов, то у учётной записи данного пользователя отсутствует пароль.

    Номер пользователя (UID, User ID) — каждому создаваемому пользователю в системе Linux присваивается уникальный номер (идентификатор) в виде определенной положительной цифры или числа.

    Цифра 0 всегда принадлежит пользователю root. Цифры от 1 до 9 и числа от 10 до 499 являются зарезервированными и выделяются только для псевдопользователей (пользователи, которые создаются вместе с установкой определенных программ, например, PostgreSQL или Nginx). Для обычных пользователей, как правило, выделяются промежутки чисел начиная с 500 или с 1000. Номер пользователя можно изменять (кроме пользователя root).

    Номер группы пользователя (GID, Group ID) — при создании пользователя также создается одноименная группа. Группы необходимы для объединения пользователей с целью группового назначения прав на необходимые объекты в системе (файлы, директории и т.д.). Пользователь должен присутствовать минимум в одной группе.

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

    Дополнительная информация — пользователям можно добавлять дополнительную информацию, такую как полное имя, адрес, номер телефона. Данная информация не является обязательной и ее можно не заполнять.

    Полный путь до домашней директории — у каждого пользователя в системе Linux есть свой домашний каталог. По умолчанию домашний каталог находится в директории /home, однако можно выбрать другую директорию, например, /var или /bin. Скажем, при установке СУБД PostgreSQL автоматически создается пользователь с именем postgres, у которого домашней директорией является /var/lib/postgresql. В качестве имени папки используется имя пользователя.

    Полный путь до командной оболочки и запрет на подключение — у пользователя может присутствовать командная оболочка, в которой выполняются команды (обычно это bash или shell (sh)). Также пользователю можно ввести запрет на использование учётной записи для входа на сервер. Для этого используется утилита /bin/false. Также отключить возможность входа пользователя на сервер можно при помощи утилиты /usr/sbin/nologin.

    Создание пользователей через useradd

    Для создания пользователей в Unix- и Linux-системах используется низкоуровневая утилита под названием useradd.

    Например, создадим пользователя с именем alex:

    Если мы посмотрим на содержимое файла /etc/passwd, то увидим информацию о созданном пользователе:

    Однако стоит обратить внимание на то, что по умолчанию, т.е. без использования ключей, useradd НЕ создает пользователю пароль и домашнюю директорию. Несмотря на то, что в файле /etc/passwd есть соответствующее значение, в данном контексте утилита лишь «резервирует» домашний каталог для пользователя.

    Для того чтобы задать пользователю пароль, используется утилита passwd. Зададим нашему пользователю alex пароль:

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

    При использовании команды useradd также можно задать пароль на этапе создания пользователя, используя ключ -p, однако пароль должен быть предварительно зашифрован. Для этого можно воспользоваться утилитой openssl (присутствует по умолчанию в большинстве дистрибутивов Linux). Создадим пользователя new-user, задав ему пароль StrongPassword123$:

    useradd -m -p $(openssl passwd -1 StrongPassword123$) new-user

    Проверим файл /etc/passwd на наличие созданного пользователя new-user и его пароля:

    Пользователь new-user был успешно создан и ему задан пароль, о чем говорит символ x.

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

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

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

    useradd -m -d /home/alex alex

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

    Чтобы задать пользователю оболочку, необходимо использовать опцию -s, после которой необходимо указать необходимую оболочку.

    useradd -s /usr/bin/bash alex

    Создание пользователей через adduser

    В предыдущем разделе для создания пользователей была использована утилита useradd. Но использовать ее бывает не очень удобно. Также в руководстве для команды useradd для систем на основе Debian дается указание использовать команду adduser вместо useradd.

    Команда adduser, так же как и useradd, создает пользователей в системе, однако работает на более высоком уровне и является интерактивной. С технической точки зрения, adduser представляет собой скрипт на языке программирования Perl, который для создания пользователей использует useradd.

    При использовании adduser достаточно задать имя пользователя, а далее утилита автоматически создаст одноименную группу для пользователя, домашний каталог в директории /home, предложит задать пароль, а также заполнить такую информацию, как полное имя (Full Name), номер кабинета/комнаты (Room Number), рабочий телефон (Work Phone), домашний телефон (Home Phone) и любую другую информацию, которую вы посчитаете нужной (Other). Если вы не хотите заполнять данную информацию, достаточно нажимать клавишу Enter пока вы не дойдете до финального вопроса:« Is the information correct?». Необходимо ввести Y (да) или n (нет).

    Процесс создания пользователя с именем master при помощи утилиты adduser представлен на скриншоте ниже:

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

    Чтобы удалить пользователя, необходимо воспользоваться командой userdel. Удалим пользователя с именем test1:

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

    Существует еще один способ удалить пользователя — при помощи команды deluser. Утилита deluser доступна только в Debian-based дистрибутивах. Для удаления пользователя при помощи deluser достаточно выполнить команду ниже, где alex — имя пользователя, который будет удален:

    Так же, как и при работе с командой userdel, команда deluser по умолчанию не удаляет домашний каталог пользователя и каталог пользователя в директории /var/mail, в которой хранятся сообщения электронной почты. Чтобы при удалении пользователя также удалить эти два каталога, необходимо использовать опцию --remove-home:

    deluser --remove-home alex

    Работа с паролями пользователей

    Как уже было упомянуто ранее, современные дистрибутивы Linux не хранят пароли в открытом виде. Вместо этого система хранит только их хэш-функции. Хэш-функции хранятся в отдельном текстовом файле под названием /etc/shadow:

    Структура файла shadow следующая:

    имя пользователя (логин):зашифрованный пароль в виде хэш-функции:дата последнего изменения пароля в формате Unix-времени (Unix time):минимальное количество дней, оставшихся до смены пароля:максимальное количество дней, в течение которых действует пароль:количество дней до истечения срока действия пароля:количество дней, после которых учетная запись будет отключена:дата истечения срока действия учётной записи alex:$y$j9T$fZUYlRu35Llhwr5fNN3QC0$V739g6q33EFgKJhSJVioTMs3jR1.39jS8jliFU9oUO2:19819:0:99999:7:::

    Описание используемых полей в файле shadow:

    Имя пользователя — имя пользователя, для которого хранится пароль.

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

    • $1$ - MD5
    • $2a$ - Blowfish
    • $2y$ - Blowfish
    • $5$ - SHA-256
    • $6$ - SHA-512
    • $y$ - yescrypt

    Дата последней смены пароля — дата, когда пароль был изменен в последний раз. Обозначается в формате Unix-времени (Unix time), которое определяется как количество дней, прошедших с полуночи 1 января 1970 года. Значение 0 говорит о том, что пользователь должен сменить свой пароль при следующем входе в систему. Пустое поле означает, что функция смены пароля отключена.

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

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

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

    Дата истечения срока действия учётной записи — дата истечения срока действия учётной записи, которая обозначается в формате Unix-времени (Unix time), означающее количество секунд, прошедших с полуночи 1 января 1970 года.

    Для того чтобы задать пользователю пароль или же сменить его, используется утилита passwd. Чтобы задать пользователю alex пароль или изменить его, используется единый синтаксис:

    Если вы забыли пароль пользователя, то при запуске утилиты passwd от имени пользователя root вам не нужно вводить старый пароль.

    Управление группами пользователей

    В этом подразделе рассмотрим, как работать с группами пользователей.

    Создание групп пользователей

    При создании пользователя автоматически создается одноименная группа. Группы можно создавать как отдельный объект. Для создания групп используется команда groupadd. Создадим группу с именем group1:

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

    Структура файла group следующая:

    имя группы:наличие пароля у группы:идентификатор группы

    Описание используемых полей в файле group:

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

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

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

    Но вы также можете задать его вручную, используя ключ -g, после которого необходимо указать число. Создадим группу с именем group2 и назначим ей идентификатор 1010:

    Если вы добавляете групповой идентификатор вручную, и он оказался занят другой группой, то вы получите соответствующее предупреждение:

    Идентификатор уже существующей группы можно изменить. Для этого используется команда groupmod. Ранее мы создали группу с именем group2 и назначали ей идентификатор 1010. Изменим его на 1012 при помощи команды:

    Также группы можно переименовывать. Переименуем группу group2 в newgrp:

    groupmod -n newgrp group2

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

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

    Для того чтобы добавить существующего пользователя в группу, необходимо воспользоваться командой usermod:

    Команда usermod поддерживает добавление только одного пользователя. Чтобы добавить двух и более пользователей, можно воспользоваться командой gpasswd. Добавим одновременно двух пользователей — sshd и tcpdump — в группу newgrp:

    gpasswd -M sshd,tcpdump newgrp

    Существует еще один вариант добавления двух и более пользователей, используя цикл for:

    for user in systemd-resolve landscape; do usermod -a -G newgrp "$user"; done

    В команде выше мы добавили пользователей systemd-resolve и landscape в группу newgrp.

    Просмотр групп пользователя

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

    Как можно увидеть на скриншоте выше, пользователь с именем new-user находится только в одной одноименной группе.

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

    Чтобы удалить пользователя из группы, можно также использовать команду gpasswd. Удалим пользователя sshd из группы newgrp:

    gpasswd --delete sshd newgrp

    Дополнительно можно воспользоваться утилитой deluser, которая помимо удаления пользователей также поддерживает и удаление пользователей из группы. Удалим пользователя landscape из группы newgrp, используя утилиту deluser:

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

    Чтобы удалить группу, используется команда groupdel. Удалим группу newgrp:


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490₽

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190₽

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны

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

      Команда Simple-Server
      03.06.2026
      15 мин

      Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

      Кратко о задаче

      Чтобы арендовать облачный или выделенный сервер в Simple-Server, необходимо пройти регистрацию.

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

      • ФИО,

      • адрес электронной почты,

      • номер телефона.

      Также регистрацию можно пройти, воспользовавшись одним из сторонних сервисов: Google-аккаунт, ВКонтакте и GitHub.

      После регистрации на указанный адрес почты придет сообщение с ссылкой для активации аккаунта и входа в панель — перейдите по ней.

      Создание облачного сервера

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

      1. Переходим на страницу авторизации и входим в аккаунт при помощи логина или адреса электронной почты и пароля или при помощи ВКонтакте, GitHub, Google.

      2. После успешной авторизации отобразится панель управления текущего проекта. Переходим в раздел «Облачные серверы» и нажимаем «Создать» или «Добавить».

      3. Выбираем операционную систему, которая будет установлена на сервер. В нашем случае нам необходима Ubuntu версии 22.04.

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

      5. Далее выбираем необходимую конфигурацию для сервера:

      6. Далее необходимо решить, будет ли сервер доступен из внешний сети или же только из приватной (частной) сети.

      7. По желанию можно оформить дополнительные услуги, включая резервные копии и защиту от DDoS-атак (последняя доступна в Санкт-Петербурге и Москве).

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

      9. Можно задать необходимое имя для сервера которое будет отображаться в панели управления, а также выбрать проект.

      10. Для создания сервера необходимо нажать на кнопку «Заказать»:

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

      Где хранится информация о пользователях

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

      Структура файла passwd следующая:

      имя пользователя (логин):пароль:номер пользователя:номер группы пользователя:дополнительная информация:полный путь до домашней директории:полный путь до командной оболочки gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin

      Описание используемых полей в файле passwd:

      Имя пользователя — используется, например, для входа по протоколу SSH или при добавлении в определенную группу пользователей. Разрешенная длина для создания имени — от 1 до 32 символов.

      Пароль — в современных дистрибутивах Linux пароли не хранятся в открытом виде. Вместо самого пароля используется один из следующих символов:

      • x — означает, что пароль хранится в зашифрованном виде вместе с «солью» (произвольный набор символов, который добавляется к хэш-сумме пароля при его создании с целью затруднить подбор пароля при помощи хэш-суммы). Сам зашифрованный пароль хранится в файле /etc/shadow;
      • ***** — означает, что у пользователя нет прав на вход в операционную систему.

      Если же у пользователя отсутствует один из вышеперечисленных символов, то у учётной записи данного пользователя отсутствует пароль.

      Номер пользователя (UID, User ID) — каждому создаваемому пользователю в системе Linux присваивается уникальный номер (идентификатор) в виде определенной положительной цифры или числа.

      Цифра 0 всегда принадлежит пользователю root. Цифры от 1 до 9 и числа от 10 до 499 являются зарезервированными и выделяются только для псевдопользователей (пользователи, которые создаются вместе с установкой определенных программ, например, PostgreSQL или Nginx). Для обычных пользователей, как правило, выделяются промежутки чисел начиная с 500 или с 1000. Номер пользователя можно изменять (кроме пользователя root).

      Номер группы пользователя (GID, Group ID) — при создании пользователя также создается одноименная группа. Группы необходимы для объединения пользователей с целью группового назначения прав на необходимые объекты в системе (файлы, директории и т.д.). Пользователь должен присутствовать минимум в одной группе.

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

      Дополнительная информация — пользователям можно добавлять дополнительную информацию, такую как полное имя, адрес, номер телефона. Данная информация не является обязательной и ее можно не заполнять.

      Полный путь до домашней директории — у каждого пользователя в системе Linux есть свой домашний каталог. По умолчанию домашний каталог находится в директории /home, однако можно выбрать другую директорию, например, /var или /bin. Скажем, при установке СУБД PostgreSQL автоматически создается пользователь с именем postgres, у которого домашней директорией является /var/lib/postgresql. В качестве имени папки используется имя пользователя.

      Полный путь до командной оболочки и запрет на подключение — у пользователя может присутствовать командная оболочка, в которой выполняются команды (обычно это bash или shell (sh)). Также пользователю можно ввести запрет на использование учётной записи для входа на сервер. Для этого используется утилита /bin/false. Также отключить возможность входа пользователя на сервер можно при помощи утилиты /usr/sbin/nologin.

      Создание пользователей через useradd

      Для создания пользователей в Unix- и Linux-системах используется низкоуровневая утилита под названием useradd.

      Например, создадим пользователя с именем alex:

      Если мы посмотрим на содержимое файла /etc/passwd, то увидим информацию о созданном пользователе:

      Однако стоит обратить внимание на то, что по умолчанию, т.е. без использования ключей, useradd НЕ создает пользователю пароль и домашнюю директорию. Несмотря на то, что в файле /etc/passwd есть соответствующее значение, в данном контексте утилита лишь «резервирует» домашний каталог для пользователя.

      Для того чтобы задать пользователю пароль, используется утилита passwd. Зададим нашему пользователю alex пароль:

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

      При использовании команды useradd также можно задать пароль на этапе создания пользователя, используя ключ -p, однако пароль должен быть предварительно зашифрован. Для этого можно воспользоваться утилитой openssl (присутствует по умолчанию в большинстве дистрибутивов Linux). Создадим пользователя new-user, задав ему пароль StrongPassword123$:

      useradd -m -p $(openssl passwd -1 StrongPassword123$) new-user

      Проверим файл /etc/passwd на наличие созданного пользователя new-user и его пароля:

      Пользователь new-user был успешно создан и ему задан пароль, о чем говорит символ x.

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

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

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

      useradd -m -d /home/alex alex

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

      Чтобы задать пользователю оболочку, необходимо использовать опцию -s, после которой необходимо указать необходимую оболочку.

      useradd -s /usr/bin/bash alex

      Создание пользователей через adduser

      В предыдущем разделе для создания пользователей была использована утилита useradd. Но использовать ее бывает не очень удобно. Также в руководстве для команды useradd для систем на основе Debian дается указание использовать команду adduser вместо useradd.

      Команда adduser, так же как и useradd, создает пользователей в системе, однако работает на более высоком уровне и является интерактивной. С технической точки зрения, adduser представляет собой скрипт на языке программирования Perl, который для создания пользователей использует useradd.

      При использовании adduser достаточно задать имя пользователя, а далее утилита автоматически создаст одноименную группу для пользователя, домашний каталог в директории /home, предложит задать пароль, а также заполнить такую информацию, как полное имя (Full Name), номер кабинета/комнаты (Room Number), рабочий телефон (Work Phone), домашний телефон (Home Phone) и любую другую информацию, которую вы посчитаете нужной (Other). Если вы не хотите заполнять данную информацию, достаточно нажимать клавишу Enter пока вы не дойдете до финального вопроса:« Is the information correct?». Необходимо ввести Y (да) или n (нет).

      Процесс создания пользователя с именем master при помощи утилиты adduser представлен на скриншоте ниже:

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

      Чтобы удалить пользователя, необходимо воспользоваться командой userdel. Удалим пользователя с именем test1:

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

      Существует еще один способ удалить пользователя — при помощи команды deluser. Утилита deluser доступна только в Debian-based дистрибутивах. Для удаления пользователя при помощи deluser достаточно выполнить команду ниже, где alex — имя пользователя, который будет удален:

      Так же, как и при работе с командой userdel, команда deluser по умолчанию не удаляет домашний каталог пользователя и каталог пользователя в директории /var/mail, в которой хранятся сообщения электронной почты. Чтобы при удалении пользователя также удалить эти два каталога, необходимо использовать опцию --remove-home:

      deluser --remove-home alex

      Работа с паролями пользователей

      Как уже было упомянуто ранее, современные дистрибутивы Linux не хранят пароли в открытом виде. Вместо этого система хранит только их хэш-функции. Хэш-функции хранятся в отдельном текстовом файле под названием /etc/shadow:

      Структура файла shadow следующая:

      имя пользователя (логин):зашифрованный пароль в виде хэш-функции:дата последнего изменения пароля в формате Unix-времени (Unix time):минимальное количество дней, оставшихся до смены пароля:максимальное количество дней, в течение которых действует пароль:количество дней до истечения срока действия пароля:количество дней, после которых учетная запись будет отключена:дата истечения срока действия учётной записи alex:$y$j9T$fZUYlRu35Llhwr5fNN3QC0$V739g6q33EFgKJhSJVioTMs3jR1.39jS8jliFU9oUO2:19819:0:99999:7:::

      Описание используемых полей в файле shadow:

      Имя пользователя — имя пользователя, для которого хранится пароль.

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

      • $1$ - MD5
      • $2a$ - Blowfish
      • $2y$ - Blowfish
      • $5$ - SHA-256
      • $6$ - SHA-512
      • $y$ - yescrypt

      Дата последней смены пароля — дата, когда пароль был изменен в последний раз. Обозначается в формате Unix-времени (Unix time), которое определяется как количество дней, прошедших с полуночи 1 января 1970 года. Значение 0 говорит о том, что пользователь должен сменить свой пароль при следующем входе в систему. Пустое поле означает, что функция смены пароля отключена.

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

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

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

      Дата истечения срока действия учётной записи — дата истечения срока действия учётной записи, которая обозначается в формате Unix-времени (Unix time), означающее количество секунд, прошедших с полуночи 1 января 1970 года.

      Для того чтобы задать пользователю пароль или же сменить его, используется утилита passwd. Чтобы задать пользователю alex пароль или изменить его, используется единый синтаксис:

      Если вы забыли пароль пользователя, то при запуске утилиты passwd от имени пользователя root вам не нужно вводить старый пароль.

      Управление группами пользователей

      В этом подразделе рассмотрим, как работать с группами пользователей.

      Создание групп пользователей

      При создании пользователя автоматически создается одноименная группа. Группы можно создавать как отдельный объект. Для создания групп используется команда groupadd. Создадим группу с именем group1:

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

      Структура файла group следующая:

      имя группы:наличие пароля у группы:идентификатор группы

      Описание используемых полей в файле group:

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

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

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

      Но вы также можете задать его вручную, используя ключ -g, после которого необходимо указать число. Создадим группу с именем group2 и назначим ей идентификатор 1010:

      Если вы добавляете групповой идентификатор вручную, и он оказался занят другой группой, то вы получите соответствующее предупреждение:

      Идентификатор уже существующей группы можно изменить. Для этого используется команда groupmod. Ранее мы создали группу с именем group2 и назначали ей идентификатор 1010. Изменим его на 1012 при помощи команды:

      Также группы можно переименовывать. Переименуем группу group2 в newgrp:

      groupmod -n newgrp group2

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

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

      Для того чтобы добавить существующего пользователя в группу, необходимо воспользоваться командой usermod:

      Команда usermod поддерживает добавление только одного пользователя. Чтобы добавить двух и более пользователей, можно воспользоваться командой gpasswd. Добавим одновременно двух пользователей — sshd и tcpdump — в группу newgrp:

      gpasswd -M sshd,tcpdump newgrp

      Существует еще один вариант добавления двух и более пользователей, используя цикл for:

      for user in systemd-resolve landscape; do usermod -a -G newgrp "$user"; done

      В команде выше мы добавили пользователей systemd-resolve и landscape в группу newgrp.

      Просмотр групп пользователя

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

      Как можно увидеть на скриншоте выше, пользователь с именем new-user находится только в одной одноименной группе.

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

      Чтобы удалить пользователя из группы, можно также использовать команду gpasswd. Удалим пользователя sshd из группы newgrp:

      gpasswd --delete sshd newgrp

      Дополнительно можно воспользоваться утилитой deluser, которая помимо удаления пользователей также поддерживает и удаление пользователей из группы. Удалим пользователя landscape из группы newgrp, используя утилиту deluser:

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

      Чтобы удалить группу, используется команда groupdel. Удалим группу newgrp:


      Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

      VPS для проекта

      VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

      StarterVDS

      490₽

      в месяц

      1 ядро

      1 ГБ RAM

      20 ГБ NVMe

      • 1 IPv4
      • KVM
      • Root-доступ
      • Безлимитный трафик
      Заказать VPS
      Рекомендуем

      PerformanceVDS

      1190₽

      в месяц

      2 ядра

      4 ГБ RAM

      60 ГБ NVMe

      • 1 IPv4
      • KVM
      • Root-доступ
      • Базовая DDoS-защита
      Заказать VPS

      Нужна другая конфигурация или чистый VPS без панели?

      Все тарифы VPS

      Похожие статьи, которые могут быть вам интересны

      :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\nuseradd -m -p $(openssl passwd -1 StrongPassword123$) new-user\n```\n\n \r\n\r\nПроверим файл `/etc/passwd` на наличие созданного пользователя `new-user` и его пароля:\r\n\r\nПользователь `new-user` был успешно создан и ему задан пароль, о чем говорит символ `x`. \r\n\r\nДанный метод не рекомендуется использовать в связи с тем, что пароль вводится в открытом виде и доступен в истории команд.\r\n\r\nНесмотря на то, что по умолчанию `useradd` только создает пользователя, у утилиты существуют ключи, позволяющие задать пользователю домашний каталог и оболочку для входа. \r\n\r\nДля того чтобы создать пользователя и задать ему домашний каталог, используются ключи `-m` и `-d,` после которого можно указать полный путь до предполагаемой директории:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\nuseradd -m -d /home/alex alex\n```\n\n \r\n\r\nЕсли не указывать директорию вручную, то домашний каталог пользователя будет создан в директории `/home`.\r\n\r\nЧтобы задать пользователю оболочку, необходимо использовать опцию `-s`, после которой необходимо указать необходимую оболочку.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\nuseradd -s /usr/bin/bash alex\n```\n\n \r\n\r\n## Создание пользователей через adduser \r\n\r\nВ предыдущем разделе для создания пользователей была использована утилита `useradd`. Но использовать ее бывает не очень удобно. Также в [руководстве для команды useradd](https://manpages.debian.org/unstable/passwd/useradd.8.en.html#DESCRIPTION) для систем на основе Debian дается указание использовать команду `adduser` вместо `useradd`.\r\n\r\nКоманда `adduser`, так же как и `useradd`, создает пользователей в системе, однако работает на более высоком уровне и является интерактивной. С технической точки зрения, `adduser` представляет собой скрипт на языке программирования Perl, который для создания пользователей использует `useradd`.\r\n\r\nПри использовании `adduser` достаточно задать имя пользователя, а далее утилита автоматически создаст одноименную группу для пользователя, домашний каталог в директории `/home`, предложит задать пароль, а также заполнить такую информацию, как полное имя (Full Name), номер кабинета/комнаты (Room Number), рабочий телефон (Work Phone), домашний телефон (Home Phone) и любую другую информацию, которую вы посчитаете нужной (Other). Если вы не хотите заполнять данную информацию, достаточно нажимать клавишу Enter пока вы не дойдете до финального вопроса:_«_ Is the information correct?». Необходимо ввести Y (да) или n (нет).\r\n\r\nПроцесс создания пользователя с именем `master` при помощи утилиты `adduser` представлен на скриншоте ниже:\r\n\r\nИспользование `adduser` значительно облегчает работу по созданию новых пользователей, так как вам не придется использовать дополнительные команды и ключи для создания пользователей.\r\n\r\nЧтобы удалить пользователя, необходимо воспользоваться командой `userdel`. Удалим пользователя с именем `test1`:\r\n\r\nПо умолчанию команда `userdel` не удаляет домашний каталог пользователя. Чтобы удалить не только пользователя, но и его домашний каталог, необходимо использовать ключ `-r`:\r\n\r\nСуществует еще один способ удалить пользователя — при помощи команды `deluser`. Утилита `deluser` доступна только в Debian-based дистрибутивах. Для удаления пользователя при помощи `deluser` достаточно выполнить команду ниже, где `alex` — имя пользователя, который будет удален:\r\n\r\nТак же, как и при работе с командой `userdel`, команда `deluser` по умолчанию не удаляет домашний каталог пользователя и каталог пользователя в директории `/var/mail`, в которой хранятся сообщения электронной почты. Чтобы при удалении пользователя также удалить эти два каталога, необходимо использовать опцию `--remove-home`:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\ndeluser --remove-home alex\n```\n\n \r\n\r\n## Работа с паролями пользователей \r\n\r\nКак уже было упомянуто ранее, современные дистрибутивы Linux не хранят пароли в открытом виде. Вместо этого система хранит только их хэш-функции. Хэш-функции хранятся в отдельном текстовом файле под названием `/etc/shadow`:\r\n\r\nСтруктура файла `shadow` следующая:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\nимя пользователя (логин):зашифрованный пароль в виде хэш-функции:дата последнего изменения пароля в формате Unix-времени (Unix time):минимальное количество дней, оставшихся до смены пароля:максимальное количество дней, в течение которых действует пароль:количество дней до истечения срока действия пароля:количество дней, после которых учетная запись будет отключена:дата истечения срока действия учётной записи\r\nalex:$y$j9T$fZUYlRu35Llhwr5fNN3QC0$V739g6q33EFgKJhSJVioTMs3jR1.39jS8jliFU9oUO2:19819:0:99999:7:::\n```\n\n \r\n\r\nОписание используемых полей в файле `shadow`:\r\n\r\n**Имя пользователя** — имя пользователя, для которого хранится пароль.\r\n\r\n**Пароль** — зашифрованный пароль в виде хэш-функции. Перед самой хэш-функцией между символами `$` обозначается алгоритм хэширования, который был использован при создании пароля. В Linux-системах поддерживаются следующие алгоритмы хэширования, а также их обозначения:\r\n\r\n * $1$ - MD5\r\n * $2a$ - Blowfish\r\n * $2y$ - Blowfish\r\n * $5$ - SHA-256\r\n * $6$ - SHA-512\r\n * $y$ - yescrypt\r\n\r\n\r\n**Дата последней смены пароля** — дата, когда пароль был изменен в последний раз. Обозначается в формате Unix-времени (Unix time), которое определяется как количество дней, прошедших с полуночи 1 января 1970 года. Значение 0 говорит о том, что пользователь должен сменить свой пароль при следующем входе в систему. Пустое поле означает, что функция смены пароля отключена.\r\n\r\n**Минимальное количество дней, оставшихся до смены пароля** — количество дней, оставшихся до того, когда пользователю будет разрешено изменить пароль. Пустое обозначение и цифра 0 означают, что минимальный срок действия пароля не указан.\r\n\r\n**Максимальное количество дней, в течение которых действует пароль** — после истечения данного срока пользователь вынужден будет сменить пароль. За несколько дней до истечения срока действия пароля пользователь получает предупреждение о том, что его пароль должен быть изменен.\r\n\r\n**Количество дней, после которых учетная запись будет отключена** — количество дней после истечения срока действия пароля, в течение которых данная учетная запись будет неактивной (отключена).\r\n\r\n**Дата истечения срока действия учётной записи** — дата истечения срока действия учётной записи, которая обозначается в формате Unix-времени (Unix time), означающее количество секунд, прошедших с полуночи 1 января 1970 года.\r\n\r\nДля того чтобы задать пользователю пароль или же сменить его, используется утилита `passwd`. Чтобы задать пользователю `alex` пароль или изменить его, используется единый синтаксис:\r\n\r\nЕсли вы забыли пароль пользователя, то при запуске утилиты `passwd` от имени пользователя `root` вам не нужно вводить старый пароль.\r\n\r\n## Управление группами пользователей \r\n\r\nВ этом подразделе рассмотрим, как работать с группами пользователей.\r\n\r\n### Создание групп пользователей \r\n\r\nПри создании пользователя автоматически создается одноименная группа. Группы можно создавать как отдельный объект. Для создания групп используется команда `groupadd`. Создадим группу с именем `group1`:\r\n\r\nВся информация о группах хранится в отдельном текстовом файле `/etc/group`:\r\n\r\nСтруктура файла `group` следующая:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\nимя группы:наличие пароля у группы:идентификатор группы\n```\n\n \r\n\r\nОписание используемых полей в файле `group`:\r\n\r\n**Имя группы** — имя группы, которая присутствует в системе. По умолчанию при создании пользователя создается одноименная группа.\r\n\r\n**Пароль от группы** — у группы, как и у пользователя, может быть пароль. В данном случае он будет запрошен при попытке присоединения пользователя к группе. Функционал использования пароля для групп используется крайне редко.\r\n\r\n**Групповой идентификатор (GID)** — у каждой группы присутствует свой уникальный идентификатор, который назначается автоматически при создании группы.\r\n\r\nНо вы также можете задать его вручную, используя ключ `-g`, после которого необходимо указать число. Создадим группу с именем `group2` и назначим ей идентификатор `1010`:\r\n\r\nЕсли вы добавляете групповой идентификатор вручную, и он оказался занят другой группой, то вы получите соответствующее предупреждение:\r\n\r\nИдентификатор уже существующей группы можно изменить. Для этого используется команда `groupmod`. Ранее мы создали группу с именем `group2` и назначали ей идентификатор `1010`. Изменим его на `1012` при помощи команды:\r\n\r\nТакже группы можно переименовывать. Переименуем группу `group2` в `newgrp`:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\ngroupmod -n newgrp group2\n```\n\n \r\n\r\nПроверим, что группа действительно была переименована:\r\n\r\n### Добавление пользователей в группы \r\n\r\nДля того чтобы добавить существующего пользователя в группу, необходимо воспользоваться командой `usermod`:\r\n\r\nКоманда `usermod` поддерживает добавление только одного пользователя. Чтобы добавить двух и более пользователей, можно воспользоваться командой `gpasswd`. Добавим одновременно двух пользователей — `sshd` и `tcpdump` — в группу `newgrp`:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\ngpasswd -M sshd,tcpdump newgrp\n```\n\n \r\n\r\nСуществует еще один вариант добавления двух и более пользователей, используя цикл `for`:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\nfor user in systemd-resolve landscape; do usermod -a -G newgrp \"$user\"; done\n```\n\n \r\n\r\nВ команде выше мы добавили пользователей `systemd-resolve` и `landscape` в группу `newgrp`.\r\n\r\n### Просмотр групп пользователя \r\n\r\nДля того чтобы посмотреть, в каких группах присутствует пользователь, необходимо воспользоваться командой `groups`, после которой указывается имя необходимого пользователя:\r\n\r\nКак можно увидеть на скриншоте выше, пользователь с именем `new-user` находится только в одной одноименной группе.\r\n\r\n### Удаление пользователя из группы \r\n\r\nЧтобы удалить пользователя из группы, можно также использовать команду `gpasswd`. Удалим пользователя `sshd` из группы `newgrp`:\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\n```bash\ngpasswd --delete sshd newgrp\n```\n\n \r\n\r\nДополнительно можно воспользоваться утилитой `deluser`, которая помимо удаления пользователей также поддерживает и удаление пользователей из группы. Удалим пользователя `landscape` из группы `newgrp`, используя утилиту `deluser`:\r\n\r\nУдалять пользователей из групп можно вручную. Для этого необходимо открыть на редактирование файл `/etc/group`, найти необходимую группу и удалить нужного пользователя. Однако использовать данный метод не рекомендуется в связи с тем, что существует риск удалить нужную информацию, и возникшие ошибки могут привести к неработоспособности системы. \r\n\r\nЧтобы удалить группу, используется команда `groupdel`. Удалим группу `newgrp`:\r\n\r\n---\r\n\r\n**Нужен сервер для практики?** [Арендуйте VPS/VDS в России](/arenda-vps/vds-servera-s-zashhitoj-ot-ddos-atak) — root-доступ, NVMe, DDoS-защита и поддержка 24/7."}}