- Команда id в Linux
- Использование команды id
- Параметры команды id
- Выводы
- 📑 Команда id — найти UID пользователя или GID
- синтаксис команды id
- Показать свой собственный UID и GID
- Как найти UID конкретного пользователя?
- Как найти GID конкретного пользователя?
- Как увидеть UID и все группы, связанные с именем пользователя?
- Как узнать все группы, к которым принадлежит пользователь…
- Отображать имя вместо UID / GID
- Параметры команды id
- Смотрите также
- Как узнать id пользователя Linux
- Как узнать id пользователя в Linux
- Выводы
- Все, что вам нужно знать о UID в Linux
- Что такое UID в Linux?
- Как найти UID пользователя в Linux?
- Как изменить UID пользователя в Linux?
- Пользователи в Linux. Типы пользователей, управление пользователями.
- Типы пользователей
- Информация пользователей
- Команды управления
- Обычное добавление пользователя
- Создание пользователя с домашней директорией, отличной от дефолтной директории
- Создание пользователя с определенным UID и GID
- Создание пользователя с указанием принадлежности к нескольким группам
- Создание пользователя без домашнего каталога
- Создание пользователя с истекающим сроком действия аккаунта
- Создание пользователя с истекающим сроком действия пароля
- Создание пользователя с указанием доп. информации
- Создание пользователя с указанием командной оболочки
- Изменение существующего пользователя
- Добавление доп. информации пользователю
- Изменение домашнего каталога пользователя
- Установка даты истечения срока аккаунта
- Изменение группы пользователя
- Добавление пользователя в дополнительные группы
- Изменение имени пользователя
- Блокировка аккаунта пользователя
- Разблокировка аккаунта пользователя
- Изменение командной оболочки пользователя
- Изменение UID и GID пользователя
- Удаление пользователей
- userdel
- deluser
- Правильное удаление пользователя
- Блокировка пользователя
- Убить все пользовательские процессы
Команда id в Linux
id — это утилита командной строки, которая выводит реальные и действующие идентификаторы пользователей и групп.
Использование команды id
Синтаксис команды id следующий:
Если имя пользователя не указано, команда id отображает информацию о текущем вошедшем в систему пользователе.
При вызове без какой-либо опции id печатает реальный идентификатор пользователя ( uid ), реальный идентификатор основной группы пользователя ( gid ) и реальные идентификаторы дополнительных групп ( groups ), к которым принадлежит пользователь. Действующий идентификатор пользователя, идентификатор группы и идентификаторы дополнительных групп печатаются только в том случае, если они отличаются от реальных.
Если SELinux включен, то id также выводит контекст безопасности ( context ) пользователя:
Чтобы получить информацию о другом пользователе, передайте имя пользователя или идентификатор пользователя в качестве аргумента команде id :
В случае, если в системе существует пользователь с именем, совпадающим с предоставленным идентификатором, поиск имени имеет приоритет. При использовании идентификатора пользователя в качестве аргумента префикс идентификатора с помощью символа + чтобы избежать интерпретации идентификатора как имени.
Например, если у вас есть пользователь с именем 1010 и другой пользователь с идентификатором 1010 , при вводе id 1010 команда отобразит информацию о пользователе с именем 1010 . Чтобы получить информацию о пользователе с ID 1010 , введите id +1010 .
Параметры команды id
Команда id принимает несколько параметров, которые позволяют отображать только определенную информацию. Это полезно при использовании id в сценариях оболочки.
Чтобы распечатать только действующий идентификатор пользователя, используйте параметр -u ( —user ):
Параметр -g ( —group ) указывает id выводить только эффективный идентификатор группы:
Используйте параметр -G ( —groups ), чтобы распечатать эффективные идентификаторы всех групп, к которым принадлежит пользователь :
Чтобы напечатать имена вместо чисел, используйте параметр -n , —name . Этот параметр можно использовать только в сочетании с -u , -g и -G .
Выполнение команды id с параметрами -un дает тот же результат, что и запуск whoami , а результат id -Gn эквивалентен выходным данным команды groups .
Параметр -r , ( —real ) можно использовать в сочетании с -u , -g и -G для вывода реальных, а не эффективных значений:
Чтобы распечатать только контекст безопасности процесса, который обычно является контекстом безопасности пользователя, используйте параметр -Z ( —context ):
Если SELinux отключен , id выводит сообщение об ошибке:
Параметр -z ( —zero ) указывает id ограничивать выходные элементы символом NUL, а не пробелом:
Это может быть полезно при передаче вывода в команду, которая может анализировать символы новой строки.
Выводы
Команда id выводит информацию о данном пользователе или о текущем вошедшем в систему пользователе, если в качестве аргумента не указано имя пользователя или идентификатор.
Не стесняйтесь оставлять комментарии, если у вас есть вопросы.
Источник
📑 Команда id — найти UID пользователя или GID
Чтобы найти UID пользователя (ID пользователя) или GID (идентификатор группы) и другую информацию в Linux/Unix-подобных операционных системах, используйте команду id.
Эта команда полезна для поиска следующей информации:
- Получить имя пользователя и реальный идентификатор пользователя
- Найти UID конкретного пользователя
- Перечислите все группы, к которым принадлежит пользователь
- Показать UID и все группы, связанные с пользователем
- Отображение контекста безопасности текущего пользователя
- Эффективное имя пользователя Linux или Unix и эффективный идентификатор пользователя (UID)
- Имя действующей группы пользователей Linux или Unix и идентификатор эффективной группы (GID)
Цель
Отображает системные идентификаторы указанного пользователя.
синтаксис команды id
По умолчанию команда id показывает имена пользователей и групп и числовые идентификаторы вызывающего процесса, то есть текущего пользователя, который запускает команду id на экране. Если имя пользователя или идентификатор пользователя ([UserNameHere]) указаны в командной строке, отображаются идентификаторы пользователя и группы этого пользователя.
Показать свой собственный UID и GID
Как найти UID конкретного пользователя?
В этом примере найдите UID пользователя vasia, введите:
Как найти GID конкретного пользователя?
В этом примере найдите GID пользователя vasia, запустите:
Как увидеть UID и все группы, связанные с именем пользователя?
В этом примере найдите UID и все группы, связанные с пользователем с именем «root», введите:
Как узнать все группы, к которым принадлежит пользователь…
В этом примере отобразите UID и все группы, связанные (вторичные группы) с пользователем с именем «vasia», запустите:
1000 20 12 61 79 80 81 98 33 100 204 398 399
Отображать имя вместо UID / GID
По умолчанию команда id отображает число для опций -G, -g и -u. Вы можете заставить команду id отображать имя UID или GID вместо номера для опций -G, -g и -u, передав опцию -n следующим образом:
Как отобразить реальный идентификатор вместо эффективного идентификатора для указанного пользователя?
Вы можете показать действительный идентификатор для параметров -g, -G и -u вместо эффективного идентификатора, передав опцию -r:
Параметры команды id
Опция | Назначение | OS |
-g | Показать только эффективный идентификатор группы | ALL |
-G | Показать все идентификаторы группы | ALL |
-u | Показать только эффективный идентификатор пользователя | ALL |
-n | Показать имя вместо числа, для -u или -g | ALL |
-r | Показать действительный идентификатор вместо действующего, с -u или -g | ALL |
-Z | Показать только контекст безопасности текущего пользователя SELinux | SELinux |
-A | Показать идентификатор пользователя аудита процесса и другие свойства аудита процесса | Только Unix-like. |
Смотрите также
man id — Страница руководства по команде id
Источник
Как узнать id пользователя Linux
Иногда возникает необходимость узнать id пользователя Linux. Это может понадобиться, если вы хотите вручную добавить группу для пользователя или вам нужно выполнить другие операции с файлами /etc/passwd или /etc/shadow.
В этой небольшой заметке мы поговорим о том, как посмотреть id пользователя с помощью различных команд в Linux.
Как узнать id пользователя в Linux
Самый простой способ посмотреть идентификатор текущего пользователя — использовать команду id, она выводит не только сам UID, но и идентификатор группы пользователя, а также основные группы этого пользователя:
Первым выводится именно id пользовтеля. Если вам нужно узнать информацию о другом пользователе, вы можете передать его имя в параметры утилиты:
Когда необходимо вывести только id пользователя:
id -u имя_пользовтеля
Если вам надо узнать только id группы определенного пользователя, то используйте опцию -g:
id -g имя_пользователя
Есть ещё несколько способов посмотреть id. Например, для текущего пользователя его можно найти в переменной окружения UID:
Ещё один вариант — утилита getent:
getent passwd имя_пользователя
Или смотрим содержимое файла /etc/passwd с помощью команды grep:
grep имя_пользователя /etc/passwd
Здесь первый цифровой параметр — это сам id, а второй, который расположен за двоеточием, — это GID.
Выводы
В этой небольшой статье мы рассмотрели, как узнать id пользователя Linux. Если у вас остались вопросы, спрашивайте в комментариях!
Источник
Все, что вам нужно знать о UID в Linux
Главное меню » Операционная система Linux » Все, что вам нужно знать о UID в Linux
Что такое UID в Linux?
UID обозначает идентификатор пользователя. UID – это номер, назначенный каждому пользователю Linux. Это представление пользователя в ядре Linux.
UID используется для идентификации пользователя в системе и для определения того, к каким системным ресурсам пользователь может получить доступ. Вот почему идентификатор пользователя должен быть уникальным.
Вы можете найти UID в файле /etc/passwd. Это тот же файл, который можно использовать для составления списка всех пользователей в системе Linux.
Используйте команду Linux для просмотра текстового файла, и вы увидите различную информацию о пользователях, присутствующих в вашей системе.
Третье поле здесь представляет идентификатор пользователя или UID.
Обратите внимание, что в большинстве дистрибутивов Linux UID 1-500 обычно зарезервирован для системных пользователей. В Ubuntu и Fedora UID для новых пользователей начинаются с 1000.
Например, если вы используете команду useradd или adduser для создания нового пользователя, он получит следующий доступный номер после 1000 в качестве своего UID.
Как найти UID пользователя в Linux?
Вы всегда можете положиться на файл /etc/passwd, чтобы получить UID пользователя. Это не единственный способ получить информацию UID в Linux.
Команда id в Linux отобразит UID, GID и группы, к которым принадлежит ваш текущий пользователь:
Вы также можете указать имена пользователей с помощью команды id, чтобы получить UID любого пользователя Linux:
Как изменить UID пользователя в Linux?
Предположим, у вас было несколько пользователей в вашей системе Linux. Вы должны были удалить пользователя, потому что он/она покинул организацию. Теперь вы хотите, чтобы его UID был занят другим пользователем, уже находящимся в системе.
Вы можете изменить UID, изменив пользователя с помощью команды usermod следующим образом:
Вы должны иметь привилегию суперпользователя для выполнения вышеуказанной команды.
Вы помните концепцию прав доступа и владения файлами в Linux? Право собственности на файл определяется UID пользователя-владельца.
Когда вы обновляете UID пользователя, что происходит с файлами, принадлежащими этому пользователю? В то время как все файлы в домашнем каталоге user_2 изменят свой связанный UID, вам придется вручную обновить связанный UID других файлов вне домашний каталог.
Что вы можете сделать, это вручную обновить владельца файлов, связанных со старым UID пользователя_2.
Вот и все. Мы надеемся, что теперь у вас есть лучшее представление об UID в Linux. Не стесняйтесь задавать свои вопросы, если таковые имеются.
Как профессиональный пользователь Linux, если вы думаете, что мы пропустили какое-то важное понятие об UID, пожалуйста, дайте мне знать в разделе комментариев.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Источник
Пользователи в Linux. Типы пользователей, управление пользователями.
Сегодня я хочу поговорить о пользователях в Linux. Мы познакомимся с типами пользователей и узнаем в каких файлах хранится связанная с ними информация. Изучим команды позволяющие управлять пользователями и изменять их данные. Рассмотрим примеры создания пользователей с различными параметрами и последующим изменениям пользовательских настроек.
Типы пользователей
В ОС Linux существует три типа пользователей:
root (от англ. root — корень) — суперпользователь, аккаунт в UNIX-подобных системах, владелец которого имеет право на выполнение всех операций без исключения. Присутствует в системе по умолчанию.
Системные пользователи — системные процессы у которых есть учетные записи для управления привилегиями и правами доступа к файлам и каталогам. Создаются системой автоматически.
Обычные пользователи — учетные записи пользователей, допущенных к управлению системой. Создаются системным администратором.
Каждый пользователь помимо имени имеет числовой идентификатор пользователя UID (User IDentificator). Пользователь root имеет идентификатор 0. Системные пользователи имеют идентификаторы от 1 до 100. Обычные пользователи имеют UID от 100.
Пользователи могут объединяться в группы. Каждый пользователь обязательно входит в ту или иную группу. Группы имеют числовой идентификатор группы GID (Group IDentificator).
Информация пользователей
В системе присутствует следующая информация о каждом пользователе:
- Имя пользователя (user name) — в рамках системы имя должно быть уникальным. В именах должны использоваться только английские буквы, числа и символы _ и . (точка).
- Идентификационный номер пользователя (UID) — является уникальным идентификатором пользователя в системе. Система отслеживает пользователей по UID, а не по именам.
- Идентификационный номер группы (GID) — обозначает группу, к которой относится пользователь. Каждый пользователь может принадлежать к одной или нескольким группам. Принадлежность пользователя к группе устанавливает системный администратор, чтобы иметь возможность ограничивать доступ пользователей к тем или иным ресурсам системы.
- Пароль (password) — пароль пользователя в зашифрованном виде.
- Полное имя (full name) — помимо системного имени может присутствовать полное имя пользователя, например фамилия и имя.
- Домашний каталог (home directory) — каталог, в который попадает пользователь после входа в систему. Подобный каталог имеется у каждого пользователя, все пользовательские каталоги хранятся в директории /home.
- Начальная оболочка (login shell) — командная оболочка, которая будет запускаться при входе в систему. Например, /bin/bash.
Вся информация о пользователях хранится в следующих файлах:
passwd (etc/passwd) — содержит информацию о пользователях, имеет следующий формат записи — «user_name:password:UID:GID:full_name:home_directory:login_shell». Элементы записи должны разделяться символом — «:» (двоеточие) и записываются без пробелов. Если пароль хранится в зашифрованном виде в файле /etc/shadow, то вместо пароля указывается — «x».
group (etc/group) — информация о группах, формат — «group_name:password:GID:user1,user2,user3». Элементы записи должны разделяться символом — «:» (двоеточие) записываются без пробелов. Имена пользователей записываются через запятую.
У файлов /etc/passwd и /etc/group всегда определенные права доступа: чтение и запись для root, для остальных только чтение.
shadow (etc/shadow) — в этом файле хранятся так называемые «теневые пароли», информация о паролях пользователей в зашифрованном виде. Cделано это для безопасности, так как файл /etc/passwd может читаться кем угодно, а файл /etc/shadow может прочитать только root.
gshadow (etc/gshadow) — то же самое что и shadow, только для паролей групп.
Помимо основных, в системе присутствуют дополнительные файлы.
useradd (etc/default/useradd) — файл задающий свойства «по умолчанию» для всех добавляемых пользователей. Можно просмотреть командой — useradd -D.
login.defs (/etc/login.defs) — содержит настройки для создания новых пользователей.
/etc/skel — каталог с дефолтными файлами, которые копируются в домашний каталог каждого пользователя при его создании.
Команды управления
Для управления пользователями используются следующие команды:
useradd или adduser — добавить нового пользователя.
passwd — задать пароль для пользователя.
usermod — изменить параметры учетной записи пользователя.
userdel или deluser — удалить учетную запись пользователя.
Для управления группами используются следующие команды:
groupadd — добавляет новую группу.
gpasswd — устанавливает пароль группы.
groupmod — изменение параметров группы.
groupdel — удаление группы.
Обычное добавление пользователя
При создании нового пользователя автоматически указываются несколько параметров. В файле /etc/passwd, заводится запись с указанием имени пользователя, домашнего каталога, UID, GID. В каталог помещаются файлы инициализации командной оболочки. Все можно указать вручную, при помощи дополнительных опций. Список опций можно просмотреть командой useradd —help или useradd -h.
Для создания пользователя достаточно выполнить команду useradd и указать его имя.
Синтаксис команды: useradd options username
Теперь нужно задать пароль для созданного пользователя. Пароль задается командой passwd с указанием имени пользователя.
Можно задать пароль для пользователя сразу при создании, например так:
Проверим с какими параметрами был создан пользователь:
Подобным образом команда useradd работает в CentOS и других подобных ему системах, но в Debian или Ubuntu она просто создаст голого пользователя, а все остальное придется добавлять потом вручную.
Чтобы создать пользователя с подобными параметрами в Debian & Ubuntu команда useradd должна выглядеть следующим образом.
Поэтому в Ubuntu & Debian удобнее пользоваться утилитой adduser, при ее использовании нужно будет ответить на несколько вопросов, в процессе ее выполнения будут видны все шаги по созданию нового пользователя.
Проверим как создался пользователь.
Пользователь создался как и в CentOS, за исключением того, что там мы не указывали полного имени «Techlist. «, через запятые должны были быть указаны номера комнаты и телефонов, которые мы пропустили нажав на .
Создание пользователя с домашней директорией, отличной от дефолтной директории
По умолчанию команда useradd создает домашний каталог пользователя в директории /home, имя домашнего каталога всегда совпадает с именем пользователя. Например при создании пользователя techlist, создается домашняя директория /home/techlist.
Допустим что возникла необходимость задать пользователю домашний каталог с размещением и именем отличающимися от стандартных настроек. При использовании опции -d можно задать свой каталог для пользователя.
Как можно видеть, пользователь techlist создался с домашним каталогом в /opt/tech.
Создание пользователя с определенным UID и GID
Каждому пользователю при его создании присваивается UID, присвоение идет по порядку: 1000, 1001 и т.д. При использовании опции -u пользователю можно задать определенный UID. Для примера создадим пользователя techlist c UID равным 777.
Пользователь создался с UID равным 777, но GID был задан дефолтный — 1001, для того чтобы это исправить можно поступить следующим образом.
Сначала создадим группу techlist c GID равным 777.
Обратите внимание, группа создана но пользователей в нет, теперь можно создать пользователя с UID=777 и указать его принадлежность к группе techlist с помощью опции -g и указания GID 777.
Создание пользователя с указанием принадлежности к нескольким группам
Если пользователь должен принадлежать сразу к нескольким группам, то указывается опция -G, после чего через запятую указываются группы к которым будет принадлежать пользователь.
Допустим что новый пользователь techlist должен принадлежать к следующим группам: group_1, group_2 и group_3.
Создание пользователя без домашнего каталога
Иногда пользователю не требуется домашний каталог, для этого используется опция -M.
Создание пользователя с истекающим сроком действия аккаунта
По умолчанию каждый пользователь не имеет срока действия аккаунта. Срок действия можно установить задав дату истечения аккаунта. Для этого следует использовать опцию -e после которой указывается дата истечения аккаунта в формате YYYY-MM-DD. Создадим пользователя techlist с истечением аккаунта в 2017-05-01, по достижении даты аккаунт будет недействителен.
Создание пользователя с истекающим сроком действия пароля
Чтобы установить срок истечения пароля пользователя, можно выполнить следующую команду.
Создание пользователя с указанием доп. информации
Иногда может возникнуть необходимость указать примечание для пользователя, в виде краткой заметки или указания имени и фамилии пользователя. Для этого можно воспользоваться опцией -c. Создадим пользователя vasek, с указанием имени и фамилии Vasya Pupkin.
Создание пользователя с указанием командной оболочки
Для того чтобы указать командную оболочку для пользователя используется опция -s
Приведенные выше опции необязательно указывать по одной, их можно комбинировать друг с другом, в зависимости от того, что нужно указать при заведении нового пользователя.
Изменение существующего пользователя
Иногда может потребоваться внести некоторые изменения в аккаунт пользователя. Сделать это можно при помощи команды usermod.
Синтаксис команды: usermod options username
Команда usermod имеет дополнительные опции, посмотреть список доступных опций можно командой usermod -h.
Рассматривать применение команды будем на примере пользователя techlist.
Пользователь был создан с дефолтными настройками.
Добавление доп. информации пользователю
Для начала добавим имя и фамилию пользователя, опцией -c.
Изменение домашнего каталога пользователя
По умолчанию домашним каталогом пользователя techlist является /home/techlist. Изменим его на каталог /opt/techlist, при помощи опции -d и опцией -m перенесем в новый каталог все содержимое старого.
Установка даты истечения срока аккаунта
Назначим дату истечения действия аккаунта, аккаунт будет действовать до 2017-05-01, дата задается опцией -e.
Изменение группы пользователя
Изменим группу пользователя techlist. Сначала посмотрим к каким группам он принадлежит.
Добавим пользователя techlist к группе group_1, используя опцию -g.
Как можно увидеть группа изменилась, если раньше была 1001(techlist), то теперь стала 1002(group_1).
Как добавить пользователя к новой группе без удаления из предыдущей? Для этого существует опция -G.
Теперь пользователь принадлежит одновременно к двум группам 1002(group_1) и 1003(group_2).
Добавление пользователя в дополнительные группы
Для добавления пользователя в одну из дополнительных групп, одновременно используются две опции -a и -G. В качестве дополнительной группы будет выступать группа wheel.
Теперь пользователь techlist относится к дополнительной группе wheel, что может наделить его привилегиями выполнять root-команды.
Изменение имени пользователя
Существующему пользователю можно изменить имя, изменим имя пользователя techlist на techlist_admin, делается это опцией -l.
Блокировка аккаунта пользователя
Для блокировки аккаунта пользователя достаточно выполнить команду с опцией -L.
Разблокировка аккаунта пользователя
Для того чтобы разблокировать аккаунт пользователя, достаточно выполнить команду с опцией -U.
Изменение командной оболочки пользователя
Чтобы изменить командную оболочку пользователя, надо выполнить следующую команду с опцией -s. Изменим пользовательскую оболочку для techlist_admin с /bin/bash/ на /bin/sh/.
Изменение UID и GID пользователя
Для изменения UID пользователя используется опция -u.
Для изменения GID пользователя используется опция -g.
Таким образом можно управлять пользователями и изменять их по своему усмотрению.
Удаление пользователей
Для удаления пользователей в Linux существуют две команды userdel и deluser, команда userdel используется в RedHat — подобных системах, а deluser в Debian и производных системах. Помимо deluser в Debian можно использовать и userdel.
userdel
синтаксис команды: userdel options username
Для того чтобы удалить пользователя, выполняем команду userdel. Команда userdel не удаляет пользователя если он работает в системе, сначала необходимо завершить все связанные с ним процессы. Для просмотра дополнительных опций команды userdel, используется ключ -h.
-f — позволяет удалить залогиненного т.е. работающего в системе пользователя. Рекомендуется использовать только в самых крайних случаях, данная опция может привести к краху системы.
deluser
синтаксис команды: deluser options username
Для просмотра справки используется команда deluser -h.
Настройки команды находятся в файле /etc/deluser.conf, здесь задается поведение утилиты при удалении пользователя.
Правильное удаление пользователя
Под правильным удалением пользователя нужно понимать определенную последовательность команд позволяющих удалить пользователя не оставив мусора и не обрушив систему.
Блокировка пользователя
Удаляемый пользователь не должен быть залогинен в системе и использовать какие либо файлы или программы.
Блокировку пользователя мы рассматривали выше.
Убить все пользовательские процессы
Если пользователь залогинен, то его нужно выкинуть из системы. Для этого найдем все процессы запущенные от его имени и завершим их.
Узнаем что это за процессы используя их pid.
Hичего серьезного нет, можно завершать все. Завершение всех процессов вышвырнет пользователя из системы, а заново войти он не сможет, ибо был заранее заблокирован.
Источник