Как создать группу Linux
Группы — очень удобный инструмент распределения прав в Linux. Благодаря группам можно разрешить нескольким пользователям доступ к одному файлу или папке, а другим запретить, не прибегая к более сложным технологиям, таким, как ACL-списки. Системные сервисы тоже запускаются от имени определённых пользователей, и поэтому группы позволяют очень тонко настроить права доступа к нужным файлам для сервисов, не давая им полного доступа к системе.
В этой небольшой статье мы рассмотрим, как создать группу Linux разными способами, а также поговорим о дополнительных настройках группы.
Как создать группу Linux
Для создания групп в Linux используется команда groupadd, давайте рассмотрим её синтаксис и опции:
$ groupadd опции имя_группы
А теперь разберём опции утилиты:
- -f — если группа уже существует, то утилита возвращает положительный результат операции;
- -g — установить значение идентификатора группы GID вручную;
- -K — изменить параметры по умолчанию автоматической генерации GID;
- -o — разрешить добавление группы с неуникальным GID;
- -p — задаёт пароль для группы;
- -r — указывает, что группа системная;
- -R — позволяет изменить корневой каталог.
Перейдём к практике. Всё очень просто. Создадим группу group1:
sudo groupadd group1

Теперь вы можете убедится, что группа была добавлена в файл /etc/group:
cat /etc/group | grep group1

Система создала группу с GID 1001. Вы можете вручную указать GID вашей группы с помощью опции -g;
sudo groupadd -g 1006 group6

Также есть возможность задать пароль для группы. Он служит для того, чтобы пользователи, не состоящие в группе, смогли получить к ней доступ с помощью команды newgrp. Эта команда делает пользователя участником указанной группы до конца сеанса. Из соображений безопасности этот метод использовать не рекомендуется, поскольку один пароль будут знать несколько пользователей. Чтобы создать группу с паролем, сначала создаём пароль командой:
perl -e ‘print crypt(«12345», «xyz»),»\n»‘

Здесь xyz — это случайная комбинация символов для увеличения надёжности пароля, а 12345 — ваш пароль. Мы должны передать утилите именно зашифрованный пароль, если передать его в открытом виде, то ничего работать не будет. Теперь создаём группу с только что полученным паролем:
sudo groupadd -p sajEeYaHYyeSU group7

Затем можно попытаться получить временный доступ к ресурсам группы с помощью newgrp:
newgrp group7 groups

Нам надо ввести пароль, который мы раньше шифровали, и теперь до конца сеанса наш пользователь находится в группе. Если вы хотите добавить пользователя в группу навсегда, то надо использовать команду usermod:
sudo usermod -aG group7 имя_пользователя
Создание группы Linux вручную
Если вы не хотите создавать группу с помощью команды, это можно сделать, просто редактируя конфигурационные файлы. Все группы, которые существуют в системе, находятся в файле /etc/group. Если мы хотим добавить новую, достаточно добавить строчку с таким синтаксисом:
имя_группы : х : gid : список_пользователей
Разберём более подробно, какой параметр за что отвечает:
- имя_группы — имя, которое будет использоваться для операций с группой;
- x — заглушка пароля группы, пароль указывается в файле /etc/gshadow, если в этом есть необходимость;
- gid — идентификатор группы;
- список_пользователей — пользователи, разделённые запятыми, которые входят в группу.
Таким образом, чтобы создать группу group7, достаточно добавить строку:
sudo vi /etc/group

Всё. Теперь нашу группу можно использовать, например, добавим в неё пользователя:
usermod -aG group7 имя_пользователя
Вы уже знаете, как создать группу пользователей linux двумя способами, теперь разберёмся, как её удалить.
Как удалить группу в Linux
Если вы создали группу неправильно или считаете, что она не нужна, то её можно удалить. Для этого используйте:
sudo groupdel имя_группы
Только ни в коем случае не удаляйте системные группы, они нужны и используются системой, а их удаление может сломать работу некоторых программ.
Выводы
В этой небольшой статье мы рассмотрели создание группы в Linux, а также то, как удалить созданную группу. Как видите, это довольно просто. Ели у вас остались вопросы, спрашивайте в комментариях!
Как создавать группы в Linux (команда groupadd)
В Linux группы используются для организации и администрирования учетных записей пользователей. Основная цель групп — определить набор привилегий, таких как разрешение на чтение, запись или выполнение для данного ресурса, которые могут быть совместно использованы пользователями внутри группы.
В этой статье мы поговорим о том, как создавать новые группы в Linux, используя команду groupadd .
Синтаксис команды groupadd
Общий синтаксис команды groupadd следующий:
Только root или пользователь с привилегиями sudo могут создавать новые группы.
При вызове groupadd создает новую группу, используя параметры, указанные в командной строке, плюс значения по умолчанию, указанные в файле /etc/login.defs .
Создание группы в Linux
Чтобы создать новую группу, введите groupadd за которым следует имя новой группы.
Например, чтобы создать новую группу с именем mygroup вы должны запустить:
Команда добавляет запись для новой группы в файлы /etc/group и /etc/gshadow .
После создания группы вы можете начать добавлять пользователей в группу .
Если группа с таким именем уже существует, система напечатает сообщение об ошибке, подобное следующему:
Чтобы подавить сообщение об ошибке, если группа существует, и для успешного завершения команды используйте параметр -f ( —force ):
Создание группы с определенным GID
В Linux и Unix-подобных операционных системах группы идентифицируются по имени и уникальному GID (положительное целое число).
По умолчанию, когда создается новая группа, система назначает следующий доступный GID из диапазона идентификаторов групп, указанных в файле login.defs .
Используйте параметр -g ( —gid ), чтобы создать группу с определенным GID.
Например, чтобы создать группу с именем mygroup с GID 1010 , введите:
Вы можете проверить GID группы, перечислив все группы и отфильтровав результат с помощью grep :
Если группа с данным GID уже существует, вы получите следующую ошибку:
При использовании с параметром -o ( —non-unique ) команда groupadd позволяет создать группу с неуникальным GID:
Создание системной группы
Нет никакой реальной технической разницы между системой и обычными (обычными) группами. Обычно системные группы используются для некоторых специальных целей работы системы, таких как создание резервных копий или обслуживание системы.
GID системных групп выбираются из диапазона login.defs системных групп, указанного в файле login.defs , который отличается от диапазона, используемого для обычных групп.
Используйте параметр -r ( —system ), чтобы создать системную группу. Например, чтобы создать новую системную группу с именем mysystemgroup вы должны запустить:
Переопределение значений /etc/login.defs по умолчанию
Параметр -K ( —key ), за которым следует KEY=VAL позволяет переопределить значения по умолчанию, указанные в файле /etc/login.defs .
По сути, все, что вы можете переопределить, — это максимальное и минимальное значения идентификаторов нормальной и системной группы для автоматического выбора GID при создании новой группы.
Допустим, вы хотите создать новую группу с GID в диапазоне от 1200 до 1500. Для этого укажите минимальные / максимальные значения, как показано ниже:
Создание системной группы с паролем
Добавление пароля в группу не имеет практического смысла и может вызвать проблемы с безопасностью, поскольку пароль потребуется знать нескольким пользователям.
Параметр -p ( —password ), за которым следует пароль, позволяет вам установить пароль для новой группы:
Выводы
В Linux вы можете создавать новые группы с помощью команды groupadd .
Те же инструкции применимы для любого дистрибутива Linux, включая Ubuntu, CentOS, RHEL, Debian, Fedora и Arch Linux.
[Пост] Управление доступом в Linux

При развертывании нового приложения в продуктовой среде возникает множество нежданных ошибок, большая часть из них — ошибки прав доступа. Примерно полгода назад собрал информацию в данном по посте. Наконец-то дошли руки довести до ума, так что представляю на суд.
Основные правила управления доступом
Объекты (например, файлы и процессы) имеют владельцев. Владельцы обладают обширным (но необязательно неограниченным) контролем над своими объектами.
- Вы являетесь владельцами новых объектов, создаваемых вами.
- Пользователь root с особыми правами, известный как суперпользователь, может действовать как владелец любого объекта в системе.
- Только суперпользователь может выполнять административные операции особого значения.
Владельцем файла всегда является один человек, тогда как в группу владельцев могут входить несколько пользователей. По традиции информация о группах хранилась в файле /etc/group .
Основное
Пользователь — это любой кто пользуется компьютером.
Под каждого пользователя, создается свой каталог, пользователю назначается командная оболочка (командный интерпретатор, используемый в операционных системах семейства UNIX). Например: /bin/bash, /bin/zsh, /bin/sh и другие.
Каждому пользователю назначается идентификационный номер (User ID). Сокращенно номер обозначается как UID, является уникальным идентификатором пользователя. Операционная система отслеживает пользователя именно по UID, а не по их имени.
Также, каждому пользователю назначается пароль для входа в систему.
Каждый пользователь принадлежит минимум к одной или нескольким группам.
Помимо пользователей, существуют группы. Так же как и пользователь, группа обладает правам доступа к тем или иным каталогам, файлам, периферии. Для каждого файла определён не только пользователь, но и группа. Группы группируют пользователей для предоставления одинаковых полномочий на какие-либо действия.
Каждой группе назначается идентификационный номер (group ID). Сокращённо GID, является уникальный идентификатором группы. Принадлежность пользователя к группе устанавливается администратором.
Управление пользователями
Просмотр
Вся информация о пользователях хранится в файле /etc/passwd .
Каждый аккаунт занимает одну строку, в формате account:password:UID:GID:GECOS:directory:shell
- account — имя пользователя.
- password — зашифрованный пароль пользователя.
- UID — идентификационный номер пользователя.
- GID — идентификационный номер основной группы пользователя.
- GECOS — необязательное поле, используемое для указания дополнительной информации о пользователе (например, полное имя пользователя).
- directory — домашний каталог ($HOME) пользователя.
- shell — командный интерпретатор пользователя (обычно /bin/sh).
Получение информации о пользователях
- w – вывод информации (имя пользователя, рабочий терминал, время входа в систему, информацию о потребленных ресурсах CPU и имя запущенной программы) о всех вошедших в систему пользователях.
- who – вывод информации (имя пользователя, рабочий терминал, время входа в систему) о всех вошедших в систему пользователях.
- who am i или whoami или id – вывод вашего имени пользователя.
- users – вывод имен пользователей, работающих в системе.
- id <имя_пользователя> – вывод о идентификаторах пользователя: его uid, имя_пользователя, gid и имя первичной группы и список групп в которых состоит пользователь
- groups <имя_пользователя> – вывод списка групп в которых состоит пользователь.
Добавление пользователя
Добавление пользователя осуществляется при помощи команды useradd.
sudo useradd vasyapupkin
- -b Базовый каталог. Это каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home.
- -с Комментарий. В нем вы можете напечатать любой текст.
- -d Название домашнего каталога. По умолчанию название совпадает с именем создаваемого пользователя.
- -e Дата, после которой пользователь будет отключен. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено.
- -f Количество дней, которые должны пройти после устаревания пароля до блокировки пользователя, если пароль не будет изменен (период неактивности). Если значение равно 0, то запись блокируется сразу после устаревания пароля, при -1 — не блокируется. По умолчанию -1.
- -g Первичная группа пользователя. Можно указывать как GID, так и имя группы. Если параметр не задан будет создана новая группа название которой совпадает с именем пользователя.
- -G Список вторичных групп в которых будет находится создаваемый пользователь
- -k Каталог шаблонов. Файлы и папки из этого каталога будут помещены в домашнюю папку пользователя. По умолчанию /etc/skel.
- -m Ключ, указывающий, что необходимо создать домашнюю папку. По умолчанию домашняя папка не создается.
- -p Зашифрованный пароль пользователя. По умолчанию пароль не задается, но учетная пользователь будет заблокирован до установки пароля.
- -s Оболочка, используемая пользователем. По умолчанию /bin/sh.
- -u Вручную задать UID пользователю.
Если при создании пользователя не указываются дополнительные ключи, то берутся настройки по умолчанию. Посмотерть настройки по-умолчанию можно с помощью команды useradd -D .
Если вас не устраивают такие настройки, вы можете поменять их выполнив sudo useradd -D -s /bin/bash , где -s это ключ из таблицы выше.
Изменение пользователя
Изменение параметров пользователя происходит с помощью утилиты usermod. Пример использования:
sudo usermod -c «Эта команда поменяет комментарий пользователю» vasyapupkin
Изменить пароль пользователю можно при помощи утилиты passwd.
sudo passwd vasyapupkin
Утилита passwd может использоваться и обычным пользователем для смены пароля.
Основные ключи passwd:
- -d Удалить пароль пользователю. После этого пароль будет пустым, и пользователь сможет входить в систему без предъявления пароля.
- -e Сделать пароль устаревшим. Это заставит пользователя изменить пароль при следующем входе в систему.
- -i Заблокировать учетную запись пользователя по прошествии указанного количества дней после устаревания пароля.
- -n Минимальное количество дней между сменами пароля.
- -x Максимальное количество дней, после которого необходимо обязательно сменить пароль.
- -l Заблокировать учетную запись пользователя.
- -u Разблокировать учетную запись пользователя.
Установка пустого пароля пользователя
Супер пользователь с помощью утилит командной строки passwd и usermod или путем редактирования файла /etc/shadow может удалить пароль пользователь, дав возможность входить в систему без указания пароля.
sudo passwd -d vasyapupkin или sudo usermod -p «» vasyapupkin
После этого имеет смысл принудить пользователя установить себе новый пароль при следующем входе в систему.
sudo passwd -e vasyapupkin
Удаление пользователя
Для того, чтобы удалить пользователя воспользуйтесь утилитой userdel.
sudo userdel vasyapupkin
- -f Принудительно удалить пользователя, даже если он сейчас работает в системе.
- -r Удалить домашний каталог пользователя.
Управление группами
Создание группы
Программа groupadd создаёт новую группу согласно указанным значениям командной строки и системным значениям по умолчанию.
sudo groupadd testgroup
- -g Установить собственный GID.
- -p Пароль группы.
- -r Создать системную группу.
Изменение группы
Сменить название группы, ее GID или пароль можно при помощи groupmod.
sudo groupmod -n newtestgroup testgroup # Имя группы изменено с testgroup на newtestgroup
- -g Установить другой GID.
- -n Новое имя группы.
- -p Изменить пароль группы.
Удаление группы
Утилита groupdel не имеет никаких дополнительных параметров.
sudo groupdel testgroup
Управление пользователями группы
Для управления пользователями группы используется утилита gpasswd. Чтобы занести пользователя в группу:
gpasswd -a [user] [group]
Вывод пользователя из группы:
gpasswd -d [user] [group]
Файлы конфигурации
/etc/passwd
В файле /etc/passwd, который упоминался ранее, хранится вся информация о пользователях кроме пароля. Одна строка из этого файла соответствует описанию одного пользователя. Примерное содержание строки таково:
Строка состоит из нескольких полей, каждое из которых отделено от другого двоеточием. Значение каждого поля:
- vasyapupkin Имя пользователя для входа в систему.
- x Необязательный зашифрованный пароль.
- 1000 Числовой идентификатор пользователя (UID).
- 1000 Числовой идентификатор группы (GID).
- Vasya Pupkin Поле комментария
- /home/vpupkin Домашний каталог пользователя.
- /bin/bash Оболочка пользователя.
Второе и последнее поля необязательные и могут не иметь значения.
/etc/group
В /etc/group, как очевидно из названия хранится информация о группах. Она записана в аналогичном /etc/passwd виде:
Строка состоит из нескольких полей, каждое из которых отделено от другого двоеточием. Значение каждого поля:
- vasyapupkin Название группы
- x Необязательный зашифрованный пароль.
- 1000 Числовой идентификатор группы (GID).
- vasyapupkin,petya Список пользователей, находящихся в группе.
В этом файле второе и четвертое поля могут быть пустыми.
/etc/shadow
Файл /etc/shadow хранит в себе пароли, по этому права, установленные на этот файл, не дают считать его простому пользователю. Пример одной из записей из этого файла:
- vasyapupkin Имя пользователя для входа в систему.
- xxx Необязательный зашифрованный пароль.
- 15803 Дата последней смены пароля.
- 0 Минимальный срок действия пароля.
- 99999 Максимальный срок действия пароля.
- 7 Период предупреждения о пароле.
- [пусто] Период неактивности пароля.
- [пусто] Дата истечения срока действия учётной записи.
Sudo и su
Зная чей-либо пароль, можно непосредственно зарегистрироваться в системе под его именем, введя команду su имя_пользователя .
Программа su служит для выполнения от имени указанного пользователя (по умолчанию — root) указанной команды/программы (по умолчанию — той программы, что определена в качестве оболочки (shell) для указанного пользователя) и запрашивает она пароль указанного пользователя.
О программе sudo можно сказать почти то же самое, за двумя исключениями:
- Нет «программы по умолчанию». для запуска оболочки, определённой для указанного пользователя, надо передать программе опцию -i.
- По умолчанию запрашивается не пароль указанного пользователя, а пароль пользователя, выполняющего программу sudo. какому пользователю, какие программы и от чьего имени можно запускать, определяется содержимым конфигурационного файла /etc/sudoers (редактируется с помощью программы visudo).
Управление доступом
У каждого объекта в Linux есть свой идентификатор, а так же права доступа, применяемые к данному идентификатору. Идентификатор есть у пользователя — UID, у группы — GID, у файла — inode.
Собственно inode является, как идентификатором файла/каталога, так и сущностью, которая содержит в себе информацию о файле/каталоге. Например такую, как: принадлежность к владельцу/группе, тип файла и права доступа к файлу.
Для каждого объекта файловой системы в модели полномочий Linux есть три типа полномочий:
- Полномочия чтения (r от read).
- Записи (w от write).
- Выполнения (x от execution).
В полномочия записи входят также возможности удаления и изменения объекта. Право выполнения можно установить для любого файла. Потенциально, любой файл в системе можно запустить на выполнение, как программу в Windows. В Linux является ли файл исполняемым или нет, определяется не по его расширению, а по правам доступа. Кроме того, эти полномочия указываются отдельно для владельца файла, членов группы файла и для всех остальных.
Собрав вышесказанное в кучу, то есть представив 3 правила (rwx) для трех групп (владелец, группа, остальные) запись прав доступа будет выглядеть вот так: rwx rwx rwx . Пример прав директории:
Кроме указанного представления полномочий доступа (символьного), существует так же и числовое представление. Для общего понимания, приведу таблицу соответствия числового (двоичного и десятичного) значения прав доступа и буквенного:
| владелец | группа | остальные | |
|---|---|---|---|
| буквенное | rwx | r-x | r– |
| двоичное | 111 | 101 | 100 |
| двоичное в десятичных | 421 | 401 | 400 |
| десятичное | 7 | 5 | 4 |
Управление правами доступа
Управление правами доступа происходит с помощью команды chmod, управление владельцем файла происходит с помощью команды chown. Синтаксис команд следующий:
chmod [к_какой_группе_прав][что_сделать_с_правами][какие_права] <над_каким_объектом>
chmod [права] <над_чем>
- [к_какой_группе_прав] может быть:
- u (от user) — владелец-пользователь.
- g (от group) — владелец-группа.
- o (от other) — остальные пользователи.
- a (от all) — все вышеперечисленные группы вместе.
- + — добавить.
- — — убрать.
- = — присвоить указанное.
- r — чтение.
- w — запись.
- x — выполнение.
Использование команды chown выглядит следующим образом: chown user:group file (-R рекурсивно)
Права доступа к символьным ссылкам
Если посмотреть на права символьных ссылок, то они всегда выглядят так: rwxrwxrwx. Дело в том, что права на символьную ссылку не имеют особого значения. При использования ссылки драйвер файловой системы пересчитывает реальный путь к файлу и применяет права доступа, определенные для реального пути уже без учета символьной ссылки.
Специальные атрибуты
- Sticky bit — бит закрепления в памяти.
Сегодня sticky bit используется в основном для каталогов, чтобы защитить в них файлы. В такой каталог может писать ЛЮБОЙ пользователь. Из такой директории пользователь может удалить только те файлы, владельцем которых он является. Примером может служить директория /tmp , в которой запись открыта для всех пользователей, но нежелательно удаление чужих файлов.
- SUID — он же Set User ID.
Атрибут исполняемого файла, позволяющий запустить его с правами владельца. В Unix-подобных системах приложение запускается с правами пользователя, запустившего указанное приложение. Это обеспечивает дополнительную безопасность так как процесс с правами пользователя не сможет получить доступ на запись к важным системным файлам, например /etc/passwd, который принадлежит суперпользователю root. Если на исполняемый файл установлен бит suid, то при выполнении эта программа автоматически меняет “эффективный userID” на идентификатор того юзера, который является владельцем этого файла. То есть, не зависимо от того — кто запускает эту программу, она при выполнении имеет права хозяина этого файла.
- SGID — он же Set Group ID. Аналогичен SUID, но относится к группе. При этом, если для каталога установлен бит SGID, то создаваемые в нем объекты будут получать группу владельца каталога, а не пользователя.
Хотелось бы так же провести аналогию с ОС Windows. В указанной операционной системе права регулируются на основе списков ACL. В Linux тоже такое возможно, это реализуется с помощью пакета acl, но данный вопрос в текущей теме я рассматривать не буду. Еще одно важное замечание! В Windows можно определить права доступа на каталог, и они автоматически распространяются на все файлы и поддиректории (если вы явно не указали иного). В Linux права доступа сохраняются в inode файла, и поскольку inode у каждого файла свой собственный, права доступа у каждого файла свои. Так же, права доступа пользователя и группы не суммируются, как в Windows. Если программа выполняется с правами пользователя и группы, которым принадлежит файл — работают только права хозяина файла.
Исполняемый файл с установленным атрибутом suid является “потенциально опасным”. Без установленного атрибута, файл не позволит обычному пользователю сделать то, что выходит за пределы прав пользователя (пример, программа passwd позволяет пользователю изменить только собственный пароль). Но, даже незначительная ошибка в такой программе может привести к тому, что злоумышленник сможет заставить её выполнить ещё какие-нибудь действия, не предусмотренные автором программы. Стоит очень осторожно относиться к данным атрибутам! Как найти в системе файлы с атрибутом SIUD и др.
При создании новой директории в директории с уже установленным SGID-битом, у созданной директории SGID-бит устанавливается автоматически!
Обозначение атрибутов Sticky, SUID, SGID
Специальные права используются довольно редко, поэтому при выводе программы ls -l символ, обозначающий указанные атрибуты, закрывает символ стандартных прав доступа. Пример: rwsrwsrwt, где s — SUID, s — SGID, t — Sticky. В приведенном примере не понятно, rwt — это rw- или rwx? Определить, стоит ли символ стандартных прав доступа под символами s и t — просто. Если t маленькое, значит x установлен. Если T большое, значит x не установлен. То же самое правило распространяется и на s.
В числовом эквиваленте данные атрибуты определяются первым символом при четырехзначном обозначении (который часто опускается при назначении прав), например в правах 1777 — символ 1 обозначает sticky bit. Остальные атрибуты имеют следующие числовое соответствие:
- 1 — sticky bit
- 2 — SGID
- 4 — SUID
Права доступа по-умолчанию для вновь создаваемых объектов файловой системе.
В Linux, при создании какого-либо файла или каталога предоставляемые права определяются по определенному алгоритму (формуле). Не вдаваясь в подробности и для большего понимания сути скажу, что есть исходные права доступа:
- 0666 — для файлов.
- 0777 — для каталогов.
Есть такая штука как umask, которая задана для каждого пользователя и хранится в виде строчки umask <значение_umask> в файле .bash_profile. Итого, у вновь создаваемого каталога будут права равные исходным правам доступа — umask.
Узнать текущий umask можно, введя команду umask без параметров. Пример:
Как видно из примера, umask установлен 0022, исходные права доступа равны 0666 — для файлов и 0777 — для каталогов. В результате получаем:
Записки IT специалиста
Linux — начинающим. Часть 6. Управление пользователями и группами. Практика
- Автор: Уваров А.С.
- 24.01.2020
В прошлом материале нашего цикла мы рассмотрели теоретические аспекты системы управления пользователями в Linux и теперь, располагая багажом необходимых знаний, можно переходить к практике. Несмотря на то, что мы традиционно рассматриваем работу в системах основанных на Debian, данный материал будет полезен пользователям любого Linux-дистрибутива, так как работа с учетными записями пользователей везде построена одинаково. Именно поэтому мы будем рассматривать только работу в командной строке, так как она предоставляет единый и универсальный интерфейс вне зависимости от используемого окружения.Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Создание пользователей
Для создания пользователей используется команда useradd, но не будем спешить с ее применением, сначала ознакомимся с используемыми по умолчанию параметрами, для этого выполните:

Здесь мы можем увидеть место размещения домашних каталогов, оболочку по умолчанию и каталог с шаблоном домашней директории /etc/skel. Эта директория будет полностью скопирована в директорию нового пользователя и содержит базовые настройки окружения пользователя. Вы можете воспользоваться этим, если вам нужно формировать определенную структуру домашних каталогов или применять какие-либо специфичные настройки. При этом не рекомендуется вносить изменения в оригинальный /etc/skel, рекомендуется сделать его копию (можно и не одну) в которую внести все необходимые изменения.
Также обратите внимание на параметр:
Но как нам известно в Debian пользовательские группы начинаются с 1000, а в RHEL c 500, поэтому в современных системах этот параметр игнорируется. Все параметры, кроме SKEL, могут быть изменены, но практический смысл это имеет только для HOME и SHELL.
Скажем вы настраиваете многопользовательский веб-сервер и хотите создавать домашние директории в каталоге веб-сервера, в этом случае можно выполнить:
А для изменения командной оболочки:
Чтобы добавить нового пользователя введите:
Ключ -m предписывает создать домашний каталог пользователя. Это самый простой вариант использования, но при использовании дополнительных ключей мы можем сразу задать или переопределить многие параметры пользователя. Получить их список можно командой:
Приведем некоторые из них:
- -b — задает домашний каталог пользователя
- -c — комментарий к учетной записи
- -g — задает основную группу пользователя
- -G — задает дополнительные группы
- -m — создать домашний каталог пользователя
- -N — не создавать группу с именем пользователя
- -k — путь к каталогу шаблона домашней директории (по умолчанию /etc/skel)
- -s — командная оболочка
Этой командой мы создадим пользователя ivanov, которому назначим домашнюю директорию в /var/www/ivanov, для которой будет использован шаблон из /etc/myskel, включим его в основную группу webuser и дополнительную www-data. Также запретим ему интерактивный вход в систему, назначив оболочкой /sbin/nologin.
Созданная учетная запись будет заблокирована до тех пор, пока мы не установим для нее пароль, это можно сделать следующей командой:
которая установит пароль к учетной записи ivan. Для блокировки пароля используйте:
Но учтите, что данная блокировка распространяется только на вход по паролю, если у пользователя настроены иные способы входа, скажем по SSH-ключу, то доступ в систему с их помощью сохранится. Поэтому данный способ следует использовать в тех случаях, когда есть подозрение на компрометацию пароля, но в полной блокировке учетной записи нет необходимости. Для разблокировки потребуется заново установить пароль.
Изменение пользователей
Для того, чтобы изменить параметры уже существующей учетной записи используется команда usermod, для ознакомления с ее возможностями получим список ключей командой
Приведем некоторые из них:
- -c — изменить комментарий
- -d — новый домашний каталог
- -g — новая основная группа
- -G — новые дополнительные группы
- -a — добавить пользователя в дополнительные группы, не удаляя из других групп, используется совместно с ключом -G
- -l — новое имя учетной записи
- -L — блокировать учетную запись
- -m — переместить содержимое домашнего каталога, используется только вместе с —d
- -U — разблокировать учетную запись
Данная команда создаст новый комментарий к учетной записи и добавит пользователя ivan в дополнительную группу sudo.
Удаление пользователей
Для удаления учетной записи пользователя используется команда userdel, например:
которая удалит учетную запись vasya.
Команда имеет дополнительные ключи, которые также можно просмотреть, запустив ее с ключом -h, практическую пользу представляют два из них:
- -r — удалить домашний каталог пользователя
- -f — удалять файлы, даже если они не принадлежат пользователю
На практике оба ключа обычно используются совместно, но будьте осмотрительны и перед удалением убедитесь, что удаляемые данные не нужны другим пользователям. Чтобы удалить пользователя вместе со всеми данными выполните:
При этом будет удален не только рабочий каталог, но и сообщения электронной почты пользователя, если таковые были в системе.
Управление группами пользователей
Для управления группами используется аналогичный набор команд: groupadd, groupmod и groupdel. Их ключи также можно посмотреть, запустив их с параметром -h.
Для создания группы используйте:
Из дополнительных ключей имеют практический смысл:
- -g — использовать указанный GUID
- -f — завершить команду без ошибки если группа с таким именем уже существует и отменить действие -g, если указанный GUID уже используется.
При помощи команды usermod мы можем изменить GUID и наименование группы, скажем:
Данная команда переименует группу office в группу sales. Используемые ключи:
- -g — изменить GUID группы
- -n — изменить наименование группы
Ну и наконец groupdel, который используется для удаления групп:
Из параметров можно использовать:
- -f — удалить группу, даже если она является основной для пользователя
При удалении групп всегда нужно проявлять осмотрительность и не следует удалять группы, в которых состоят пользователи. Если же такая необходимость существует, то следует предварительно вывести из группы пользователей и изменить группу для всех объектов, которыми владела удаляемая группа.
Управление членством пользователей в группах
Управлять членством пользователей в группах можно различным образом. Выше мы уже приводили примеры с использованием usermod, для изменения основной группы пользователя используйте:
Данная команда изменит основную группу пользователя ivan на office. Для добавления в дополнительные группы следует выполнить команду:
Которая добавит пользователя ivan в группы office и sales.
Также существует и другая команда gpasswd, которая позволяет не только добавлять, но и удалять членство пользователей в группах. Для добавления пользователя в группу используйте:
Данная команда добавить пользователя ivan в группу office. Для удаления членства выполните:
Для того, чтобы проверить членство пользователя в группах используйте команду:
где ivan — имя пользователя.
Чтобы быстро удалить пользователя из всех дополнительных групп используйте:

Как видим, управление пользователями и группами в Linux не такое уж и сложное дело, особенно когда вы понимаете, что значит тот или иной параметр и для чего вы это делаете.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Дополнительные материалы:
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Или подпишись на наш Телеграм-канал:
