0

useradd

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

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

Для создания пользователей используется команда 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

Игра системный администратор

docker run -p 8080:8080 -p 3390:3389 –name play-adobe-flash-after-eol jchprj/play-adobe-flash-after-eolзайти localhost:8080, и открыть эту страницу, или https://serveradmin.ru/files/sysadmin.swf

Что делать, когда на сервере кончаются файловые дескрипторы (inode)

Нередки случаи, когда причиной проблем на сервере становится переполнение файловых дескрипторов (inode). Симптомы точно такие же, как при переполнившемся диске, только вот диск при этом может оказаться свободным. Количество inode каждой файловой системы определяется при разворачивании ОС.

CI/CD для начинающих: деплой React-приложения

Следующий шаг после разработки веб-приложения — размещение его на сервере. Независимо от сложности проекта или используемой инфраструктуры, общий процесс остается одинаковым: нужно «упаковать» код в CI/CD-конвейер и отправить на сервер. В тексте рассмотрим,

Настройка iptables в Linux от Selectel

Рассмотрим использование наиболее популярного в дистрибутивах Linux межсетевого экрана iptables. Эта инструкция — часть курса «Введение в сетевую безопасность». Смотреть весь курс Рассмотрим использование наиболее популярного в дистрибутивах Linux межсетевого экрана iptables

nginx и apache на одном сервере

В этом руководстве мы рассмотрим процедуру установки и настройки работы двух web-серверов с целью использования преимуществ каждого из них, где Nginx – как frontend и Apache – как backend. Установка и настройка
Go toTop