0

useradd

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

11.09.2022

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

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

useradd -D

linux-user-and-group-management-2-001.png

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

Также обратите внимание на параметр:

GROUP=100

Но как нам известно в Debian пользовательские группы начинаются с 1000, а в RHEL c 500, поэтому в современных системах этот параметр игнорируется. Все параметры, кроме SKEL, могут быть изменены, но практический смысл это имеет только для HOME и SHELL.

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

useradd -D -b /var/www/home

А для изменения командной оболочки:

useradd -D -s /bin/bash

Чтобы добавить нового пользователя введите:

useradd -m ivan

Ключ -m предписывает создать домашний каталог пользователя. Это самый простой вариант использования, но при использовании дополнительных ключей мы можем сразу задать или переопределить многие параметры пользователя. Получить их список можно командой:

useradd -h

Приведем некоторые из них:

  • -b – задает домашний каталог пользователя
  • -c – комментарий к учетной записи
  • -g – задает основную группу пользователя
  • -G – задает дополнительные группы
  • -m – создать домашний каталог пользователя
  • -N – не создавать группу с именем пользователя
  • -k – путь к каталогу шаблона домашней директории (по умолчанию /etc/skel)
  • -s – командная оболочка

Например:

useradd -m -b /var/www/ivanov -g webuser -G www-data -k /etc/myskel -s /sbin/nologin ivanov

Этой командой мы создадим пользователя ivanov, которому назначим домашнюю директорию в /var/www/ivanov, для которой будет использован шаблон из /etc/myskel, включим его в основную группу webuser и дополнительную www-data. Также запретим ему интерактивный вход в систему, назначив оболочкой /sbin/nologin.

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

passwd ivan

которая установит пароль к учетной записи ivan. Для блокировки пароля используйте:

passwd -l ivan

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

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

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

usermod -h

Приведем некоторые из них:

  • -c – изменить комментарий
  • -d – новый домашний каталог
  • -g – новая основная группа
  • -G – новые дополнительные группы
  • -a – добавить пользователя в дополнительные группы, не удаляя из других групп, используется совместно с ключом -G
  • -l – новое имя учетной записи
  • -L – блокировать учетную запись
  • -m – переместить содержимое домашнего каталога, используется только вместе с –d
  • -U – разблокировать учетную запись

Например:

usermod -c "Ivanov Ivan" -aG sudo ivan

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

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

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

userdel vasya

которая удалит учетную запись vasya.

Команда имеет дополнительные ключи, которые также можно просмотреть, запустив ее с ключом -h, практическую пользу представляют два из них:

  • -r – удалить домашний каталог пользователя
  • -f – удалять файлы, даже если они не принадлежат пользователю

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

userdel -rf vasya

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

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

Для управления группами используется аналогичный набор команд: groupaddgroupmod и groupdel. Их ключи также можно посмотреть, запустив их с параметром -h.

Для создания группы используйте:

groupadd office

Из дополнительных ключей имеют практический смысл:

  • -g – использовать указанный GUID
  • -f – завершить команду без ошибки если группа с таким именем уже существует и отменить действие -g, если указанный GUID уже используется.

При помощи команды usermod мы можем изменить GUID и наименование группы, скажем:

groupmod -n sales office

Данная команда переименует группу office в группу sales. Используемые ключи:

  • -g – изменить GUID группы
  • -n – изменить наименование группы

Ну и наконец groupdel, который используется для удаления групп:

groupdel office

Из параметров можно использовать:

  • -f – удалить группу, даже если она является основной для пользователя

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

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

Управлять членством пользователей в группах можно различным образом. Выше мы уже приводили примеры с использованием usermod, для изменения основной группы пользователя используйте:

usermod -g office ivan

Данная команда изменит основную группу пользователя ivan на office. Для добавления в дополнительные группы следует выполнить команду:

usermod -aG office, sales ivan

Которая добавит пользователя ivan в группы office и sales.

Также существует и другая команда gpasswd, которая позволяет не только добавлять, но и удалять членство пользователей в группах. Для добавления пользователя в группу используйте:

gpasswd -a ivan office

Данная команда добавить пользователя ivan в группу office. Для удаления членства выполните:

gpasswd -d ivan office

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

groups ivan

где ivan – имя пользователя.

Чтобы быстро удалить пользователя из всех дополнительных групп используйте:

usermod -G "" ivan
linux-user-and-group-management-2-002.png

Свежие комментарии

Подписка

Лучшие статьи

Рубрики

Популярное

networking commands
Previous Story

21 Basic Linux Networking Commands You Should Know

fsmo
Next Story

Передача/захват ролей FSMO на другой контроллер домена Active Directory

Latest from Blog

How to Install Proxmox Virtual Environment on Debian 11

Introduction Proxmox Virtual Environment is an open-source virtualization management program. It provides a single platform to manage services and functions like KVM Hypervisor, Linux Containers (LXC), storage & networking. In addition, it

Настройка Wireguard VPN на своем сервере

Настройка серверной части После успешного подключения я напишу несколько команд и описание того что они производят для понимания процесса: Обновляем список пакетов в репозиториях apt update Обновим сами пакеты apt upgrade -y

Установка Zabbix 7 c NGINX + PostgreSQL + TimescaleDB на Ubuntu Server или Debian

Сервер Zabbix предполагает достаточную вариативность в выборе СУБД и веб-сервера, поэтому многое тут будет зависеть от персональных предпочтений. Однако расширение TimescaleDB позволяет поддерживать высокий уровень производительности и масштабирования при работе с временными

Настройка простого беспроводного репитера на устройстве MikroTik

При развертывании беспроводных сетей достаточно часто возникают ситуации, когда в некоторых местах квартиры или офиса мощность Wi-Fi сигнала недостаточна для уверенной работы. Конечно, наиболее действенным решением является создание централизованно управляемой сети и

Настройка и использование Redis

В этой статье мы расскажем что такое Redis, его преимущества и для каких целей он используется. Redis (REmote DIctionary Server) — сетевое журналируемое хранилище данных типа “ключ” — “значение” с открытым исходным кодом. По сути Redis представляет собой базу данных
Go toTop