Группы пользователей в Linux

Учетные записи пользователей могут быть назначены одной или нескольким группам в Linux. Вы можете настроить права доступа к файлам и другие привилегии по группам. Например, в Ubuntu только пользователи из группы sudo могут использовать команду sudo для получения определенных привилегий.

Добавление пользователя

Параметры создания пользователя по умолчанию

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

useradd -D

Результат будет примерно следующий:

GROUP=100HOME=/home INACTIVE=-1EXPIRE= SHELL=/bin/shSKEL=/etc/skel CREATE_MAIL_SPOOL=no

Если вас не устраивают такие настройки, вы можете поменять их выполнив

useradd -D-m-s/bin/bash

где -m и -s это ключи, взятые из таблицы выше.

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

Изменение параметров пользователя происходит с помощью утилиты usermod. Пример использования:

sudo usermod -c «Эта команда поменяет комментарий пользователю» vasyapupkin

usermod использует те же опции, что и useradd.

Изменение пароля

Изменить пароль пользователю можно при помощи утилиты passwd.

sudo passwd vasyapupkin

Основные ключи passwd:

Ключ Описание
-d Удалить пароль пользователю. При помощи этого ключа можно легко заблокировать учетную запись.
-e Сделать пароль устаревшим. Это заставит пользователя изменить пароль при следующем входе в систему.
-i Заблокировать учетную запись пользователя по прошествии указанного количества дней после устаревания пароля.
-n Минимальное количество дней между сменами пароля.
-x Максимальное количество дней, после которого необходимо обязательно сменить пароль.

Получение информации о пользователях

  • w – вывод информации (имя пользователя, оболочка, время входа в систему и т. п.) о всех вошедших в систему пользователях.
  • whoami – вывод вашего имени пользователя.
  • users – вывод имен пользователей, работающих в системе.
  • groups имя_пользователя – вывод списка групп в которых состоит пользователь.
Читайте также:  10 советов для безопасного использования интернета детьми

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

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

sudo userdel vasyapupkin

userdel имеет всего два основных ключа:

Ключ Описание
-f Принудительно удалить пользователя, даже если он сейчас работает в системе.
-r Удалить домашний каталог пользователя.

Создать группу

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

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

groupadd [-g gid [-o]] [-r] [-f] groupname

В следующей таблице перечислены параметры —

Вариант и описание
1

-G GID

Числовое значение идентификатора группы

2

Эта опция позволяет добавить группу с неуникальным GID

3

Этот флаг указывает groupadd добавить системную учетную запись

4

-f

Эта опция заставляет просто выйти с успешным статусом, если указанная группа уже существует. С помощью -g, если указанный GID уже существует, выбирается другой (уникальный) GID

5

имя группы

Фактическое имя группы, которая будет создана

-G GID

Числовое значение идентификатора группы

Эта опция позволяет добавить группу с неуникальным GID

Этот флаг указывает groupadd добавить системную учетную запись

-f

Эта опция заставляет просто выйти с успешным статусом, если указанная группа уже существует. С помощью -g, если указанный GID уже существует, выбирается другой (уникальный) GID

имя группы

Фактическое имя группы, которая будет создана

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

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

$ groupadd developers

Пример применения команды usermod

Допустим, нам нужно добавить пользователя alexey в группу test. Используем команду:

Читайте также:  Nginx количество одновременных соединений

# usermod -a -G test alexey

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

# usermod -g test alexey

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

На этом все. Сохраните эти сведения, ведь невозможно запоминать подобные команды быстро. Так вы не будете тратить время на поиск нужной информации.

Файлы конфигурации

Изменять параметры пользователей и групп можно не только при помощи специальных утилит, но и вручную. Все настройки хранятся в текстовых файлах. Описание каждого из них приведено ниже.

/etc/passwd

В файле /etc/passwd хранится вся информация о пользователях кроме пароля. Одна строка из этого файла соответствует описанию одного пользователя. Примерное содержание строки таково:

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

Поле Описание
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 виде:

Поле Описание
1 vasyapupkin Название группы
2 x Необязательный зашифрованный пароль.
3 1000 Числовой идентификатор группы (GID).
4 vasyapupkin,petya Список пользователей, находящихся в группе.

В этом файле второе и четвертое поля могут быть пустыми.

/etc/shadow

Файл /etc/shadow хранит в себе пароли, по этому права, установленные на этот файл, не дают считать его простому пользователю. Пример одной из записей из этого файла:

Поле Описание
1 vasyapupkin Имя пользователя для входа в систему.
2 $6$Yvp9VO2s$ Необязательный зашифрованный пароль.
3 15803 Дата последней смены пароля.
4 Минимальный срок действия пароля.
5 99999 Максимальный срок действия пароля.
6 7 Период предупреждения о пароле.
7 Период неактивности пароля.
9 Дата истечения срока действия учётной записи.

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

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

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

  • sudo userdel sammy

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

  • sudo userdel -r sammy

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

Создание нового пользователя и назначение группы в одной команде

Иногда вам может понадобиться создать новую учетную запись пользователя, которая имеет доступ к определенному ресурсу или каталогу, например, новому пользователю FTP. Вы можете указать группы, которым будет назначена учетная запись пользователя, при создании учетной записи пользователя с помощью команды useradd, например:

useradd -G examplegroup exampleusername

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

useradd -G ftp jsmith

Конечно, вы захотите назначить пароль для этого пользователя:

passwd jsmith