Использование команды Linux «id»

Подробно и понятно объясняем, как в терминале Linux создать пользователя, добавить его в группу, задать пароль и многое другое!

Создание и удаление пользователя в Linux – useradd

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

Перед тем как добавить учетную запись, на незнакомом сервере, сначала посмотрите какие параметры заданы по умолчанию для новых пользователей. useradd использует шаблон, который задается в файле /etc/default/useradd . Посмотрим, что там у нас:

[[email protected] ~]# useradd -D # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes

123456789 [root@hc~]# useradd -D# useradd defaults fileGROUP=100HOME=/homeINACTIVE=1EXPIRE=SHELL=/bin/bashSKEL=/etc/skelCREATE_MAIL_SPOOL=yes

Что тут для нас важно:

  • HOME=/home – директория где создастся домашняя папка пользователя, традиционно это /home
  • INACTIVE=-1 – количество дней, через которое навсегда заблокируется учетная запись, после устаревания пароля. -1 здесь означает, что возможность не используется.
  • EXPIRE= – дата, когда пользователь будет заблокирован. Сейчас пусто, значит никогда.
  • SHELL=/bin/bash – какая оболочка будет использоваться пользователем.
  • SKEL=/etc/skel – папка где лежат файлы, которые будут скопированы в домашнюю директорию нового пользователя.

По сути нас все устраивает, давайте уже создадим учётку:

useradd hc -m

1 useradd hcm

-m указывает, что необходимо создать папку пользователя в /home , если ее там еще нет. И сразу создадим второго:

useradd testuser -m -s /bin/sh -c ‘Test User Account’

1 useradd testuserms/bin/shc‘Test User Account’

Для разнообразия, с помощью ключа -s я указал, что shell оболочкой будет не bash, a sh. А -с задает комментарий для пользователя, который используется, обычно, как полное имя пользователя.

Читайте также:  Новые функции iOS 14.5 и установка бета-версии на iPhone

Какие ключи еще понимает useradd : -b – задает базовый каталог, в котором будет создана домашняя папка пользователя. По умолчанию /home -d – задает имя домашнего каталога. По умолчанию название совпадает с именем пользователя -e Дата, по достижении которой пользователь блокируется. Задается в формате ГГГГ-ММ-ДД. По умолчанию отключено. Соответствует EXPIRE в шаблоне /etc/default/useradd ; -f – соответствует INACTIVE в шаблоне, как уже говорилось, срок устаревания пароля до блокировки; -g – задает первичную группу для нового пользователя. Указывается GID или имя группы. Если параметр не задан, имя группы будет такое же как имя пользователя; -G – список дополнительных групп для создаваемого пользователя; -k – путь к каталогу шаблонов. Соответствует SKEL в шаблоне; -u – для установки UID пользователя вручную.

Список групп пользователя Linux

Вы можете посмотреть список групп пользователя Linux двумя основными способами. Это команда id, которую мы уже разбирали в статье о том, как узнать id пользователя Linux, и команда groups. Чтобы вывести всю информацию о пользователе, используйте id:

Чтобы вывести только список групп текущего пользователя, необходимо использовать опцию -G:

id -G

Команда выводит идентификаторы групп, если вы хотите получить их имена, то необходимо добавить опцию -n:

id -Gn

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

id -Gn имя_пользователя

Следующий вариант просмотра списка групп – команда groups:

groups

И точно также можно узнать группу пользователя Linux, передав его имя команде:

groups имя_пользователя

Ещё можно посчитать количество групп, в которых состоит пользователь Linux:

groups | wc -w

id -g (Показать основной идентификатор группы для пользователя)

Если вы хотите найти основной идентификатор группы для текущего пользователя, введите следующую команду:

Читайте также:  Как сделать текст читабельным: простые правила

id -g

Это перечислит только идентификатор группы, такой как 1001.

Вам может быть интересно, что является основной группой. Когда вы создаете пользователя, например, fred , ему назначается группа на основе настроек файла / etc / passwd. Когда этот пользователь создает файлы, он будет принадлежать Фреду и назначен основной группе. Если другим пользователям будет предоставлен доступ к группе, они будут иметь те же разрешения, что и другие пользователи в этой группе.

Вы также можете использовать следующий синтаксис для просмотра идентификатора основной группы:

id —group

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

id -g Фред

Создать группы в Linux

Создать новую группу:

sudo groupadd Название_группы

Удалить группу в Linux:

sudo groupdel Название_группы

Добавить пользователя в группу:

sudo usermod -aG Название_группы Имя_Пользователя

Удалить пользователя из группы:

sudo deluser Название_группы Имя_Пользователя

Читайте далее как работать с командами chown и chmod.

У вас еще остались вопросы? Пишите их в комментариях, рассказывайте, что у вас получилось или наоборот!

Вот и все! Больше полезных статей и инструкций читайте в разделе Статьи и Хаки Linux. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!

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

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

/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 Дата истечения срока действия учётной записи.

Управление группами юзера в Linux

Управлять группами можно и с помощью графического интерфейса. В KDE есть программа Kuser умышленно предназначенная для этого, в Gnome это выполняется с помощью настроек системы. Кроме того, в известных дистрибутивах есть отдельные инструменты, такие как YaST в OpenSUSE или Настройки Ubuntu. Но с графичным интерфейсом я думаю вы разберетесь. А мы рассмотрим управление группами linux через терминал. Для начала разберемся с файлами, а уже потом с пользователями.

При создании файла ему назначается основная группа юзера который его создал. Это просто например:

Здесь вы можете видеть, что владелец всех папок sergiy и группа также sergiy. Правильно, так как эти пользователи были созданы мной. Но давайте пойдем дальше: