Перейти к содержимому

Как добавить себя в группу в linux

  • автор:

[Пост] Управление доступом в Linux

Post main image

При развертывании нового приложения в продуктовой среде возникает множество нежданных ошибок, большая часть из них — ошибки прав доступа. Примерно полгода назад собрал информацию в данном по посте. Наконец-то дошли руки довести до ума, так что представляю на суд.

Основные правила управления доступом

Объекты (например, файлы и процессы) имеют владельцев. Владельцы обладают обширным (но необязательно неограниченным) контролем над своими объектами.

  • Вы являетесь владельцами новых объектов, создаваемых вами.
  • Пользователь 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, который упоминался ранее, хранится вся информация о пользователях кроме пароля. Одна строка из этого файла соответствует описанию одного пользователя. Примерное содержание строки таково:

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

  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. xxx Необязательный зашифрованный пароль.
  3. 15803 Дата последней смены пароля.
  4. 0 Минимальный срок действия пароля.
  5. 99999 Максимальный срок действия пароля.
  6. 7 Период предупреждения о пароле.
  7. [пусто] Период неактивности пароля.
  8. [пусто] Дата истечения срока действия учётной записи.

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 — для каталогов. В результате получаем:

    Users, Groups and Permissions in Linux

    Żimuzo Obiechina

    So here I am, in my journey to mastery, documenting how I learnt to create users, groups and permissions in Linux in the form of a mini-tutorial.

    We’ll be working with Ubuntu installed on a local virtual server — but most commands used will apply to any other Linux distribution. This article also assumes a basic knowledge of Linux commands.

    The Linux operating system allows multi-user functionality. This means that multiple users can use the operating system concurrently and independently while sharing system resources.

    In this mini-tutorial, we will create 3 groups and 15 users and assign these users across the 3 groups. We will also ensure that users in one group cannot access files in another group unless they are added to that group.

    But first, let’s take a look at the different types of user accounts in Linux.

    Types of user accounts

    There are three basic types of Linux user accounts:

    1. Root user(administrative): This user account has full access to system-wide resources, in addition to the permission to create, modify and delete users and groups.
    2. Regular user accounts: These are user accounts with a login shell and home directory that perform tasks for personal use — usually common application tasks that are isolated to the user’s home directory.
    3. Service accounts: These are accounts assigned to applications but with limited access in order to protect the application from potential attacks while still performing essential functions. They usually will not have a home directory.

    Create users

    We will need admin privileges to create users — however, using the root user context is generally avoided, for security reasons.

    First, create a regular user using the useradd command following this syntax:

    TIP: To learn more about a Linux command, run man <command> , for example, man useradd to display a full description of the command.

    And then, assign admin privileges to this user as follows:

    Now, this admin user has superuser privileges and will not need to type in a password with the sudo command.

    Let’s switch to the admin superuser using the following command:

    And then create more users with the useradd command:

    Do this for the number of users you need to create — 15 users in this case.

    View users

    All users in the system are stored in the /etc/passwd directory. To view all users, run the following command:

    This should output something similar to the following:

    Each entry has the following features:

    • the username: user1
    • the encrypted password: x
    • the unique identifier (UID) for the user: 100x
    • the user group ID (GID): 100x
    • the General Electric Comprehensive Operating Supervisor (GECOS) field — which is empty in this case. (This field contains general information as a string of comma-delimited attributes, for example, full name; phone number; etc)
    • the user home directory: /home/user1
    • the default login shell for the user: /bin/sh

    Delete users

    To delete a user, run the command:

    This removes all related user data, along with all the files in the user’s home directory -f, —force .

    Add users to a group

    To add the 15 users to groups, let’s create three different groups — a group for team leads leads , one for developers developers and another for the site reliability engineering team sre — and then add the users to the groups.

    Use the groupadd command to create a group with the following syntax:

    So for our case, we will create three different groups like so:

    Next, add the already created users to each group assuming each user fits the group role, using the gpasswd command with the following syntax:

    The gpasswd command allows you to manage the creation of groups and members of groups — the -A flag defines group administrators and the -M flag defines the members of the group as a comma-separated list (see the man pages for more details).

    View groups

    All groups in the system are stored in the /etc/groups directory. To view all groups, run the following command:

    This should give an output similar to:

    Next, let’s define the level of access allowed for each group.

    Permissions and Ownership

    The reason Linux so elegantly supports a multi-user system is as a result of permissions. Permissions grant users the right to access files and directories within the system. In Linux, the basic permissions are:

    • Read : the right to open and view the contents of files and directories. Represented by r
    • Write: the right to modify the content of a file and to add, remove and rename files within a directory. Represented by w
    • Execute: the right to run a script or application. Represented by x

    Let’s demonstrate the significance of file permissions; create 3 separate files using the following command:

    Run the following command to view the files and the current permissions on each file:

    The output of this command should be similar to this:

    The parts of the above output relevant to the level of access are the following:

    • The first ten characters -rw-r—r— symbolize the file access permissions:
    • the first character refers to the file type, where — means a regular file. Other notations are d for a directory, l for a symbolic link, and so on.
    • the other nine characters define access permissions to the file type — the first three characters rw- are user permissions, the next three r— are group permissions while the last three r— are permissions for all other users.
    • root: the user that owns (created) the file
    • root : the group that owns the file

    With the above information in mind, we will assign a specific group to its related file.

    Assign Group Ownership

    We want each file to belong to its own group. To do this, let’s assign group ownership using the chgrp (short for change group) command. The syntax for this command is:

    So, for our example, we’ll run the following commands:

    Now, when we run the ls -l command, we should get the following output:

    Each file now belongs to its respective group. This means that only members of the group that owns the file can have whatever permissions specified; that is, read permission (as demonstrated by the middle three characters r— ). However, all other users outside of the group also have read permissions (as demonstrated by the last three characters r— ).

    So, considering we want to restrict file access to only members belonging to the file group, let’s change that.

    Modifying permissions

    To set or change permissions, use the chmod (short for change mode) command (see the man pages for more details).

    When using this command, we specify the following:

    • Whom to change permissions for: u for the user(owner), g for thegroup and o for all other users.
    • How to change permission: + (plus sign) to add permissions, — (minus sign) to remove permissions or = (equal sign) to leave as is.
    • What permission to change: r for read, w for write, x for execute.

    Using the information above, let’s take away the read permission for users outside the group and add write and execute permissions to the group as follows:

    Run the ls -l command to view the modified permissions. The output should be:

    To demonstrate that files belonging to one group cannot be accessed by another group, login as a different user; for example, user5 (who belongs to the developers group), using the following command:

    Now, let’s attempt to read a file that does not belong to the developers group. Run the following command to view the leads.txt file:

    You should get a warning that says:

    This is expected because user5 does not have the permission to read the contents of the leads.txt file since the file belongs to the leads group, and not the developers group.

    Conclusion

    The information shared in this mini-tutorial is by no means exhaustive of the topic of managing users, groups and permissions in Linux. But this should get any beginner, such as myself, up and running with working in Linux.

    PS: I decided to have some fun while learning bash scripting, and wrote scripts create_users.sh and delete_users.sh to automate creating and deleting the users described above. See them here.

    — — — — — — — — — Thank you for reading! — — — — — — — — —

    Добавление пользователя в группу. Списки пользователей и групп в Linux

    Пользователь и группы в Linux

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

    Список групп, в которых состоит пользователь

    Для вывода списка групп, в которых состоит конкретный пользователь используется команда groups.

    При выполнении команды groups без аргументов, выводится список групп текущего пользователя.

    Можно указать имя пользователя, для которого нужно вывести список групп, в которых он состоит. Например, выведем группы, в которых состоит пользователь root.

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

    Чтобы в Linux добавить существующего пользователя в группу используется команда usermod с ключами -a и -G группа . Например, добавим пользователя pingvinus в группу editorsgroup.

    После выполнения данной команды пользователю pingvinus необходимо выйти и снова войти в систему. Можно воспользоваться командой su, чтобы войти от имени пользователя pingvinus в текущем сеансе.

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

    Удалим пользователя pingvinus из группы editorsgroup.

    Чтобы изменения вступили в силу, нужно выйти и войти в систему.

    Список всех групп

    Выведем список всех групп в текущей системе Linux.

    Список всех пользователей

    Выведем список всех пользователей в текущей системе Linux.

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

    Можно ограничить вывод только теми пользователями, для которых домашняя директория расположена в директории /home.

    Как в Linux добавить пользователя в группу (или вторичную группу)

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

    Как создать новую группу в Linux

    Если вы хотите создать новую группу в своей системе, используйте команду groupadd, заменив new_group на имя группы, которую вы хотите создать. Вам также нужно будет использовать sudo с этой командой (или в дистрибутивах Linux, которые не используют sudo, вам нужно будет запустить команду su, чтобы получить повышенные разрешения перед запуском команды).

    Добавление существующей учетной записи пользователя в группу

    Чтобы добавить существующую учетную запись пользователя в группу в вашей системе, используйте команду usermod, заменив group_name на имя группы, в которую вы хотите добавить пользователя, в user_name на имя пользователя, которого хотите добавить.

    Например, для добавления пользователя mial в группу sudo, используйте следующую команду:

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

    Хотя учетная запись пользователя может входить в нескольких групп, одна из групп всегда является «основной группой», а остальные являются «вторичными группами». Процесс входа пользователя, файлы и папки, созданные пользователем, будут назначены первичной группе.

    Чтобы изменить основную группу, которой назначен пользователь, запустите команду usermod, заменив group_name на имя группы, а user_name на имя учетной записи пользователя.

    Обратите внимание здесь на -g. Когда вы используете маленькую g, вы назначаете главную группу. Когда вы используете заглавную -G , как в примерах выше, вы назначаете вторичную группу.

    Как узнать, в какие группы входит пользователь

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

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

    id

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

    Вы также можете просмотреть числовые идентификаторы, связанные с каждой группой, запустив команду id и указав имя пользователя.

    Первой группой в списке групп или группой, показанной после «gid=» в списке идентификаторов, является первичная группа учетной записи пользователя. Другие группы – это вторичные группы. Итак, на скриншоте ниже основной группой учетной записи пользователя является mial.

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

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

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

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

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

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

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

    Вы можете указать столько групп, сколько хотите – просто разделите их все запятой.

    Как просмотреть все группы в системе

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

    Этот вывод также покажет вам, какие учетные записи пользователей являются членами групп. Итак, на скриншоте ниже мы видим, что учетные записи пользователей syslog и mial являются членами группы adm.

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

Добавить комментарий

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