- Как создать группу Linux
- Как создать группу Linux
- Создание группы Linux вручную
- Как удалить группу в Linux
- Выводы
- Пользователи и группы
- Параметры создания пользователя по умолчанию
- Изменение пользователя
- Изменение пароля
- Установка пустого пароля пользователя
- Получение информации о пользователях
- Удаление пользователя
- Управление группами
- Создание группы
- Изменение группы
- Удаление группы
- Файлы конфигурации
- /etc/passwd
- /etc/group
- /etc/shadow
- Управление пользователями и группами через GUI
- Установка
- Управление группами
Как создать группу Linux
Группы — очень удобный инструмент распределения прав в Linux. Благодаря группам можно разрешить нескольким пользователям доступ к одному файлу или папке, а другим запретить, не прибегая к более сложным технологиям, таким, как ACL-списки. Системные сервисы тоже запускаются от имени определённых пользователей, и поэтому группы позволяют очень тонко настроить права доступа к нужным файлам для сервисов, не давая им полного доступа к системе.
В этой небольшой статье мы рассмотрим, как создать группу Linux разными способами, а также поговорим о дополнительных настройках группы.
Как создать группу Linux
Для создания групп в Linux используется команда groupadd, давайте рассмотрим её синтаксис и опции:
$ groupadd опции имя_группы
А теперь разберём опции утилиты:
- -f — если группа уже существует, то утилита возвращает положительный результат операции;
- -g — установить значение идентификатора группы GID вручную;
- -K — изменить параметры по умолчанию автоматической генерации GID;
- -o — разрешить добавление группы с неуникальным GID;
- -p — задаёт пароль для группы;
- -r — указывает, что группа системная;
- -R — позволяет изменить корневой каталог.
Перейдём к практике. Всё очень просто. Создадим группу 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:
Нам надо ввести пароль, который мы раньше шифровали, и теперь до конца сеанса наш пользователь находится в группе. Если вы хотите добавить пользователя в группу навсегда, то надо использовать команду usermod:
sudo usermod -aG group7 имя_пользователя
Создание группы Linux вручную
Если вы не хотите создавать группу с помощью команды, это можно сделать, просто редактируя конфигурационные файлы. Все группы, которые существуют в системе, находятся в файле /etc/group. Если мы хотим добавить новую, достаточно добавить строчку с таким синтаксисом:
имя_группы : х : gid : список_пользователей
Разберём более подробно, какой параметр за что отвечает:
- имя_группы — имя, которое будет использоваться для операций с группой;
- x — заглушка пароля группы, пароль указывается в файле /etc/gshadow, если в этом есть необходимость;
- gid — идентификатор группы;
- список_пользователей — пользователи, разделённые запятыми, которые входят в группу.
Таким образом, чтобы создать группу group7, достаточно добавить строку:
Всё. Теперь нашу группу можно использовать, например, добавим в неё пользователя:
usermod -aG group7 имя_пользователя
Вы уже знаете, как создать группу пользователей linux двумя способами, теперь разберёмся, как её удалить.
Как удалить группу в Linux
Если вы создали группу неправильно или считаете, что она не нужна, то её можно удалить. Для этого используйте:
Только ни в коем случае не удаляйте системные группы, они нужны и используются системой, а их удаление может сломать работу некоторых программ.
Выводы
В этой небольшой статье мы рассмотрели создание группы в Linux, а также то, как удалить созданную группу. Как видите, это довольно просто. Ели у вас остались вопросы, спрашивайте в комментариях!
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Пользователи и группы
Добавление пользователя осуществляется при помощи команды useradd . Пример использоания:
Эта команда создаст в системе нового пользователя vasyapupkin. Чтобы изменить настройки создаваемого пользователя, вы можете использовать следующие ключи:
Ключ | Описание |
---|---|
-b | Базовый каталог. Это каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home |
-с | Комментарий. В нем вы можете напечатать любой текст. |
-d | Название домашнего каталога. По умолчанию название совпадает с именем создаваемого пользователя. |
-e | Дата, после которой пользователь будет отключен. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено. |
-f | Количество дней, которые должны пройти после устаревания пароля до блокировки пользователя, если пароль не будет изменен (период неактивности). Если значение равно 0, то запись блокируется сразу после устаревания пароля, при -1 — не блокируется. По умолчанию -1. |
-g | Первичная группа пользователя. Можно указывать как GID, так и имя группы. Если параметр не задан будет создана новая группа название которой совпадает с именем пользователя. |
-G | Список вторичных групп в которых будет находится создаваемый пользователь |
-k | Каталог шаблонов. Файлы и папки из этого каталога будут помещены в домашнюю папку пользователя. По умолчанию /etc/skel. |
-m | Ключ, указывающий, что необходимо создать домашнюю папку. По умолчанию домашняя папка не создается. |
-p | Зашифрованный пароль пользователя. По умолчанию пароль не задается, но учетная пользователь будет заблокирован до установки пароля |
-s | Оболочка, используемая пользователем. По умолчанию /bin/sh. |
-u | Вручную задать UID пользователю. |
Параметры создания пользователя по умолчанию
Если при создании пользователя не указываются дополнительные ключи, то берутся настройки по умолчанию. Эти настройки вы можете посмотреть выполнив
Результат будет примерно следующий:
GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/sh SKEL=/etc/skel CREATE_MAIL_SPOOL=no
Если вас не устраивают такие настройки, вы можете поменять их выполнив
где -s это ключ из таблицы выше.
Изменение пользователя
Изменение параметров пользователя происходит с помощью утилиты usermod . Пример использования:
sudo usermod -c "Эта команда поменяет комментарий пользователю" vasyapupkin
usermod использует те же опции, что и useradd.
Изменение пароля
Изменить пароль пользователю можно при помощи утилиты passwd .
passwd может использоваться и обычным пользователем для смены пароля. Для этого пользователю надо ввести
и ввести старый и новый пароли.
Ключ | Описание |
---|---|
-d | Удалить пароль пользователю. После этого пароль будет пустым, и пользователь сможет входить в систему без предъявления пароля. |
-e | Сделать пароль устаревшим. Это заставит пользователя изменить пароль при следующем входе в систему. |
-i | Заблокировать учетную запись пользователя по прошествии указанного количества дней после устаревания пароля. |
-n | Минимальное количество дней между сменами пароля. |
-x | Максимальное количество дней, после которого необходимо обязательно сменить пароль. |
-l | Заблокировать учетную запись пользователя. |
-u | Разблокировать учетную запись пользователя. |
Установка пустого пароля пользователя
Супер пользователь с помощью утилит командной строки passwd и usermod или путем редактирования файла /etc/shadow может удалить пароль пользователь, дав возможность входить в систему без указания пароля.
sudo passwd -d vasyapupkin
sudo usermod -p "" vasyapupkin
Если учетная запись пользователя в этот момент была заблокирована командой passwd -l, то указанные выше команды так же снимут эту блокировку
Установка пустого пароля может быть полезна как временное решение проблемы в ситуации, когда пользователь забыл свой пароль или не может его ввести из-за проблем с раскладкой клавиатуры. После этого имеет смысл принудить пользователя установить себе новый пароль при следующем входе в систему
sudo passwd -e vasyapupkin
Получение информации о пользователях
w – вывод информации (имя пользователя, рабочий терминал, время входа в систему, информацию о потребленных ресурсах CPU и имя запущенной программы) о всех вошедших в систему пользователях.
who – вывод информации (имя пользователя, рабочий терминал, время входа в систему) о всех вошедших в систему пользователях.
id имя_пользователя – вывод о идентификаторах пользователя: его uid, имя_пользователя, gid и имя первичной группы и список групп в которых состоит пользователь
Удаление пользователя
Для того, чтобы удалить пользователя воспользуйтесь утилитой userdel . Пример использования:
userdel имеет всего два основных ключа:
Ключ | Описание |
---|---|
-f | Принудительно удалить пользователя, даже если он сейчас работает в системе. |
-r | Удалить домашний каталог пользователя. |
Управление группами
Создание группы
Программа groupadd создаёт новую группу согласно указанным значениям командной строки и системным значениям по умолчанию. Пример использования:
Изменение группы
Сменить название группы, ее GID или пароль можно при помощи groupmod . Пример:
sudo groupmod -n newtestgroup testgroup #Имя группы изменено с testgroup на newtestgroup
Удаление группы
Удаление группы происходит так:
groupdel не имеет никаких дополнительных параметров.
Файлы конфигурации
Изменять параметры пользователей и групп можно не только при помощи специальных утилит, но и вручную. Все настройки хранятся в текстовых файлах. Описание каждого из них приведено ниже.
/etc/passwd
В файле /etc/passwd хранится вся информация о пользователях кроме пароля. Одна строка из этого файла соответствует описанию одного пользователя. Примерное содержание строки таково:
vasyapupkin:x:1000:1000:Vasya Pupkin:/home/vpupkin:/bin/bash
Строка состоит из нескольких полей, каждое из которых отделено от другого двоеточием. Значение каждого поля приведено в таблице.
№ | Поле | Описание |
---|---|---|
1 | vasyapupkin | Имя пользователя для входа в систему. |
2 | x | Необязательный зашифрованный пароль. |
3 | 1000 | Числовой идентификатор пользователя (UID). |
4 | 1000 | Числовой идентификатор группы (GID). |
5 | Vasya Pupkin | Поле комментария |
6 | /home/vpupkin | Домашний каталог пользователя. |
7 | /bin/bash | Оболочка пользователя. |
Второе и последнее поля необязательные и могут не иметь значения.
/etc/group
В /etc/group, как очевидно из названия хранится информация о группах. Она записана в аналогичном /etc/passwd виде:
vasyapupkin:x:1000:vasyapupkin,petya
№ | Поле | Описание |
---|---|---|
1 | vasyapupkin | Название группы |
2 | x | Необязательный зашифрованный пароль. |
3 | 1000 | Числовой идентификатор группы (GID). |
4 | vasyapupkin,petya | Список пользователей, находящихся в группе. |
В этом файле второе и четвертое поля могут быть пустыми.
/etc/shadow
Файл /etc/shadow хранит в себе пароли, по этому права, установленные на этот файл, не дают считать его простому пользователю. Пример одной из записей из этого файла:
vasyapupkin:$6$Yvp9VO2s$VfI0t.o754QB3HcvVbz5hlOafmO.LaHXwfavJHniHNzq/bCI3AEo562hhiWLoBSqxLy7RJJNm3fwz.sdhEhHL0:15803:0:99999:7.
№ | Поле | Описание |
---|---|---|
1 | vasyapupkin | Имя пользователя для входа в систему. |
2 | $6$Yvp9VO2s$VfI0t.o754QB3HcvVbz5hlOafmO.LaHXwfavJHniHNzq/bCI3AEo562hhiWLoBSqxLy7RJJNm3fwz.sdhEhHL0 | Необязательный зашифрованный пароль. |
3 | 15803 | Дата последней смены пароля. |
4 | 0 | Минимальный срок действия пароля. |
5 | 99999 | Максимальный срок действия пароля. |
6 | 7 | Период предупреждения о пароле. |
7 | Период неактивности пароля. | |
9 | Дата истечения срока действия учётной записи. |
Управление пользователями и группами через GUI
В текущей версии Ubuntu отсутствует штатная утилита управления группами пользователей системы, поэтому по умолчанию все действия с группами необходимо выполнять в консоли. Однако для этих целей существует специальная утилита «Пользователи и группы».
Установка
Пакет gnome-system-tools находится в репозитории Ubuntu, поэтому ставится одной командой:
sudo apt-get install gnome-system-tools
Управление группами
Для добавления, удаления групп, а также добавления\удаления пользователей в\из конкретных групп, необходимо в главном окне нажать кнопку «Управление группами», после чего вы увидите окно, отображающее все присутствующие в системе группы: в котором выбрав нужную группу и нажав «Свойства» можно отметить галочкой пользователей, которых необходимо внести в группу.