Команда id — найти UID пользователя или GID
Чтобы найти UID пользователя (ID пользователя) или GID (идентификатор группы) и другую информацию в Linux/Unix-подобных операционных системах, используйте команду id.
Эта команда полезна для поиска следующей информации:
- Получить имя пользователя и реальный идентификатор пользователя
- Найти UID конкретного пользователя
- Перечислите все группы, к которым принадлежит пользователь
- Показать UID и все группы, связанные с пользователем
- Отображение контекста безопасности текущего пользователя
- Эффективное имя пользователя Linux или Unix и эффективный идентификатор пользователя (UID)
- Имя действующей группы пользователей Linux или Unix и идентификатор эффективной группы (GID)
Цель
Отображает системные идентификаторы указанного пользователя.
синтаксис команды id
id id [UserNameHere] id [параметры] id [параметры] [имя_пользователя]
По умолчанию команда id показывает имена пользователей и групп и числовые идентификаторы вызывающего процесса, то есть текущего пользователя, который запускает команду id на экране. Если имя пользователя или идентификатор пользователя ([UserNameHere]) указаны в командной строке, отображаются идентификаторы пользователя и группы этого пользователя.
Показать свой собственный UID и GID
uid=1000(vasia) gid=1000(vasia) группы=1000(vasia),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),130(sambashare),132(libvirtd),134(lxd)
Как найти UID конкретного пользователя?
В этом примере найдите UID пользователя vasia, введите:
id -u id -u vasia
Как найти GID конкретного пользователя?
В этом примере найдите GID пользователя vasia, запустите:
id -g id -g vasia
Как увидеть UID и все группы, связанные с именем пользователя?
В этом примере найдите UID и все группы, связанные с пользователем с именем «root», введите:
id id root
uid=0(root) gid=0(root) группы=0(root)
Как узнать все группы, к которым принадлежит пользователь…
В этом примере отобразите UID и все группы, связанные (вторичные группы) с пользователем с именем «vasia», запустите:
id -G id -G 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 следующим образом:
id -ng id -nu id -nG id -nG vasia
vasia adm cdrom sudo dip plugdev lpadmin sambashare libvirtd lxd
Как отобразить реальный идентификатор вместо эффективного идентификатора для указанного пользователя?
Вы можете показать действительный идентификатор для параметров -g, -G и -u вместо эффективного идентификатора, передав опцию -r:
id -r -g id -r -u ### [NOTE]########################### ### -r and -G only works on Linux ### ##################################### id -r -G id -r -u vasia
Параметры команды 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
Похожие статьи на сайте
- Методы монтирования дисков в Linux
- Введение в диспетчер логических томов (LVM)
- Локальное туннелирование с помощью SSH: несколько примеров
- Альтернативы SSH, которые в некоторых случаях лучше оригинала
- Полный набор лучших и современных консольных программ для Linux
- Установка ZoneMinder на Ubuntu 22.04 (Linux Mint 21) и nginx
- Устанавливаем GIMP в Ubuntu 22.04 (Linux Mint 21)
- Устанавливаем qBittorrent в Linux Ubuntu/Mint
- Исправляем ошибку — network unreachable resolving ‘./NS/IN’: 2001:503:c27::2:30#53
- Установка remmina из ppa в Ubuntu 22.04 или Mint 21
- Исправляем: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg)
- Что такое зомби-процесс в Linux?
- Хитрости командной строки Bash, которые помогут вам работать быстрее
- Команда ls в Linux — подробно и с примерами
- Команда mkdir в Linux — подробно и с примерами
- Список непечатаемых символов Linux, MacOS или Windows
- Команда chmod в Linux — подробно и с примерами
- Команда cat и примеры её использования в Linux
- Как установить приложение Yarock Music Player
- Запуск нескольких команд Linux одной составной командой
- Файловый менеджер nnn
- Версия системы и версия ядра Ubuntu/Mint
- Запуск команд на удаленном сервере через SSH
- Цветовые схемы и внешний вид MC (midnight commander)
- Переключение кодировок в MC
- Шпаргалка по горячим клавишам для файловых панелей MC (midnight commander)
- Ошибка NO_PUBKEY. Как найти GPG-ключ и добавить его в базу apt системы Ubuntu
- Установка драйвера wifi Asus wl-167g v3 (rtl8192) для Ubuntu 16.04 и 18.04
- Как настроить wifi из командной строки в Ubuntu
- Изменение имени сетевого интерфейса в Ununtu/Mint
- nmon — удобный инструмент для мониторинга Linux систем
- Ошибка: 502 bad gateway — connect() to unix:/run/php/php-fpm.sock failed (11: Resource temporarily unavailable)
- Команда history или работа с историей введенных команд
- Шпаргалка по архиватору 7z (7-Zip) в Linux Ubuntu/Mint
- Преобразование видео от 1080p до 720p с наименьшими потерями с использованием ffmpeg
- Как посмотреть все доступные шрифты в терминале (CLI)?
- Команда id — найти UID пользователя или GID
- Лучшие рекомендации по повышению безопасности для серверов OpenSSH
- Разрешения файлов директории .SSH
- Настройка Nginx FastCGI Cache для сокращения времени отклика сервера WordPress
- Как получить реальный IP-адрес пользователя в nginx за обратным прокси-сервером nginx
- Чем отличается прямой прокси от обратного прокси
- Руководство по iptables (Iptables Tutorial 1.1.19)
- Настройка автозапуска скриптов в Linux Ubuntu/Mint
- Устанавливаем оболочку bash про умолчанию
- SOCS5 прокси сервер DANTE — установка и настройка
- Сервис online настройки параметров сервера nginx
- nmblookup — аналог команды Windows nbtstat для Linux.
- Inxi — программа вывода информации о системе и железе в Linux
- dnstop — мониторинг и анализатор DNS-трафика
Как удалить пользователя в Linux
В этой инструкции мы рассмотрим как удалить пользователя Linux вместе с его данными и домашним каталогом. Если вы системный администратор в крупной компании то, скорее всего, удаление пользователей Linux для вас довольно частая задача. После того как аккаунт становится ненужным или пользователь ушел из организации, его аккаунт нужно удалить, чтобы не оставлять дыр в безопасности.
При удалении пользователей Linux также важно удалить их домашний каталог, чтобы освободить место на устройстве хранения для новых пользователей и их файлов. Сначала мы рассмотрим как удалить пользователя Linux с помощью терминала, потом поговорим о том, как это делается в графическом интерфейсе одного из самых популярных дистрибутивов — Ubuntu.
Что нам понадобится?
Перед тем как переходить к действиям в реальной среде нужно немного попрактиковаться, давайте создадим два пользователя losst и losst1, вместе с домашними каталогами, а затем уже будем их удалять:
adduser losst
passwd losst
adduser losst1
passwd losst1

Здесь команда adduser используется для создания учетной записи пользователя, а passwd для создания пароля.
Удаление пользователя Linux в терминале
Давайте рассмотрим, как удалить пользователя Linux в терминале. Для этого используется команда — deluser в Debian и производных системах, а в RHEL — userdel. Рассмотрим подробнее эти две утилиты.
Описание deluser
Синтаксис команды deluser очень простой:
$ deluser параметры пользователь
Настройки команды deluser находятся в файле /etc/deluser.conf, среди прочих настроек там указанно что нужно делать с домашней папкой и файлами пользователя. Вы можете посмотреть и изменить эти настройки выполнив команду:
Рассмотрим подробнее эти настройки:
- REMOVE_HOME — удалять домашний каталог пользователя
- REMOVE_ALL_FILES — удалить все файлы пользователя
- BACKUP — выполнять резервное копирование файлов пользователя
- BACKUP_TO — папка для резервного копирования
- ONLY_IF_EMPTY — удалить группу пользователя если она пуста.
Эти настройки определяют поведение утилиты по умолчанию, когда выполняется удаление пользователя, конечно, их можно переопределить используя параметры для команды.
Поддерживаются такие параметры, они аналогичны настройкам, но тут больше вариантов:
- —system — удалять только если это системный пользователь
- —backup — делать резервную копию файлов пользователя
- —backup-to — папка для резервных копий
- —remove-home — удалять домашнюю папку
- —remove-all-files — удалять все файлы пользователя в файловой системе
Описание userdel
Утилита userdel работает немного по-другому, файла настроек здесь нет, но есть опции, с помощью которых можно сообщить утилите что нужно сделать. Синтаксис аналогичный:
$ userdel параметры пользователь
- -f, —force — принудительное удаление, даже если пользователь еще залогинен.
- -r, —remove — удалить домашнюю директорию пользователя и его файлы в системе.
- -Z — удалить все SELinux объекты для этого пользователя.
Для удаления пользователя с сервера лучше использовать расширенный способ, который мы рассмотрим ниже. Когда пользователи используют сервер, они запускают различные программы и сервисы. Пользователь может быть правильно удален, только если он не залогинен на сервере и все программы, запущенные от его имени остановлены, ведь программы могут использовать различные файлы, принадлежащие пользователю, а это помешает их удалить. Соответственно тогда файлы пользователя будут удаленны не полностью и останутся засорять систему.
Блокировка учетной записи пользователя
Для блокировки учетной записи пользователя можно использовать утилиту passwd. Это запретит пользователю доступ к системе и предотвратит запуск новых процессов. Выполните команду passwd с параметром —lock:
passwd —lock losst

Уничтожить все запущенные процессы пользователя
Теперь давайте найдем все запущенные от имени пользователя процессы и завершим их. Найдем процессы с помощью pgrep:
Посмотреть подробнее, что это за процессы можно передав pid, каждого из них в команду ps, вот так:
ps -f —pid $(pgrep -u losst)

Теперь, когда вы убедились, что там нет ничего важного, можно уничтожить все процессы с помощью команды killall:
Killall -9 -u losst
Опция -9 говорит программе, что нужно отправить этим процессам сигнал завершения SIGKILL, а -u задает имя пользователя.
В основанных на Red Hat системах, для использования killall необходимо будет установить пакет psmisc:
sudo yum install psmisc
Резервное копирование данных пользователя
Это вовсе не обязательно, но для серьезного проекта не будет лишним создать резервную копию файлов пользователя, особенно если там могли быть важные файлы. Для этого можно использовать, например, утилиту tar:
tar jcvf /user-backups/losst-backup.tar.bz2 /home/losst
Удаление учетной записи пользователя
Теперь, когда все подготовлено, начинаем удаление пользователя linux. На всякий случай укажем явно, что нужно удалять файлы пользователя и домашнюю директорию. Для Debian:
deluser —remove-home losst
userdel —remove losst
Если нужно удалить все файлы, принадлежащие пользователю в системе используйте опцию —remove-all-files, только будьте с ней осторожны, так и важные файлы можно затереть:
deluser —remove-all-files losst
Теперь пользователь полностью удален, вместе со своими файлами и домашней директорией из вашей системы.
Удаление пользователя в Ubuntu
Как я и говорил, дальше рассмотрим как удалить пользователя в Ubuntu с помощью графического интерфейса. Это намного проще того, что было описано выше, но менее эффективнее.
Откройте Параметры системы:

Откройте пункт Пользователи:

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

Теперь для того чтобы удалить пользователя в linux достаточно кликнуть по нему мышкой, а затем нажать внизу страницы нажать кнопку Удалить пользователя:

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

Естественно, будет удаленна только домашняя папка, обо всех файлах речь не идет. И для корректного удаления пользователь должен быть не залогинен в системе.
Выводы
Удалить пользователя в Linux не так уж сложно, независимо от того где это нужно сделать, на сервере или домашнем компьютере. Конечно, графический интерфейс более удобен, но в терминал, как всегда, предлагает больше возможностей. Если у вас есть еще какие-нибудь идеи по этому поводу, напишите в комментариях!
Все, что вам нужно знать о UID в Linux

Эта статья по основам Linux научит вас всему важному, связанному с UID в Linux.
Что такое UID в Linux?
UID обозначает идентификатор пользователя. UID — это номер, назначенный каждому пользователю Linux. Это представление пользователя в ядре Linux.
UID используется для идентификации пользователя в системе и для определения того, к каким системным ресурсам пользователь может получить доступ. Вот почему идентификатор пользователя должен быть уникальным.
Вы можете найти UID в файле /etc/passwd. Это тот же файл, который можно использовать для составления списка всех пользователей в системе Linux.
Используйте команду Linux для просмотра текстового файла, и вы увидите различную информацию о пользователях, присутствующих в вашей системе.
root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/usr/sbin/nologin man:x:6:12:man:/var/cache/man:/usr/sbin/nologin lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin mail:x:8:8:mail:/var/mail:/usr/sbin/nologin news:x:9:9:news:/var/spool/news:/usr/sbin/nologin andreyex:x:1000:1000:Andrey. /home/helder:/bin/bash davmail:x:127:65534::/var/lib/davmail:/usr/sbin/nologin statd:x:128:65534::/var/lib/nfs:/usr/sbin/nologin
Третье поле здесь представляет идентификатор пользователя или UID.
Обратите внимание, что в большинстве дистрибутивов Linux UID 1-500 обычно зарезервирован для системных пользователей. В Ubuntu и Fedora UID для новых пользователей начинаются с 1000.
Например, если вы используете команду useradd или adduser для создания нового пользователя, он получит следующий доступный номер после 1000 в качестве своего UID.
Корневой пользователь
В Linux UID — 0 и GID — 0 зарезервированы для пользователя root.
Как найти UID пользователя в Linux?
Вы всегда можете положиться на файл /etc/passwd, чтобы получить UID пользователя. Это не единственный способ получить информацию UID в Linux.
Команда id в Linux отобразит UID, GID и группы, к которым принадлежит ваш текущий пользователь:
id uid=1000(andreyex) gid=1000(andreyex) groups=1000(andreyex),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare),127(kvm)
Вы также можете указать имена пользователей с помощью команды id, чтобы получить UID любого пользователя Linux:
id standard uid=1001(standard) gid=1001(standard) groups=1001(standard)
Как изменить UID пользователя в Linux?
Предположим, у вас было несколько пользователей в вашей системе Linux. Вы должны были удалить пользователя, потому что он/она покинул организацию. Теперь вы хотите, чтобы его UID был занят другим пользователем, уже находящимся в системе.
Вы можете изменить UID, изменив пользователя с помощью команды usermod следующим образом:
usermod -u 1004 user_2
Вы должны иметь привилегию суперпользователя для выполнения вышеуказанной команды.
Вы помните концепцию прав доступа и владения файлами в Linux? Право собственности на файл определяется UID пользователя-владельца.
Когда вы обновляете UID пользователя, что происходит с файлами, принадлежащими этому пользователю? В то время как все файлы в домашнем каталоге user_2 изменят свой связанный UID, вам придется вручную обновить связанный UID других файлов вне домашний каталог.
Что вы можете сделать, это вручную обновить владельца файлов, связанных со старым UID пользователя_2.
find / -user old_uid_of_user_2 -exec chown -h user_2 <> \;
Вот и все. Мы надеемся, что теперь у вас есть лучшее представление об UID в Linux. Не стесняйтесь задавать свои вопросы, если таковые имеются.
Как профессиональный пользователь Linux, если вы думаете, что мы пропустили какое-то важное понятие об UID, пожалуйста, дайте мне знать в разделе комментариев.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Создание пользователя в Linux. Команды adduser и useradd

Для создания пользователей в Linux можно использовать графические утилиты, предоставляемые дистрибутивом, или воспользоваться командной строкой.
Для создания пользователей из командной строки обычно используют утилиты adduser или useradd. Рассмотрим, использование данных утилит.
Оглавление
- В чем отличия adduser и useradd?
- Команда adduser
- Создание пользователя командой adduser
- Синтаксис команды useradd
- Создание нового пользователя
- Создание нового пользователя с домашней директорией в /home
- Создание нового пользователя с произвольной домашней директорией
- Создание нового пользователя с произвольными UID, GID
- Создание пользователя с указанием оболочки (shell)
- Создать пользователя и добавить его в группы
В чем отличия adduser и useradd?
useradd — это низкоуровневая утилита для создания пользователей в Linux.
adduser — представляет собой более простое решение для создания пользователей и по факту является надстройкой над useradd, groupadd и usermod.
Утилита adduser доступна не во всех дистрибутивах Linux. Реализация adduser также может отличаться. Если в дистрибутиве присутствует утилита adduser, то для создания пользователей рекомендуется использовать именно ее.
Команда adduser
Создание пользователя командой adduser
Рассмотрим, как создать обычного пользователя командой adduser
Чтобы создать нового пользователя, выполняем команду adduser и указываем имя пользователя (вместо pupkin укажите имя пользователя, которого вы создаете):
sudo adduser pupkinПосле запуска данной команды, вы должны ввести пароль для нового пользователя. Затем будет предложено ввести дополнительную информацию о пользователе: имя, номер комнаты (кабинета), телефоны и комментарий. Вводить эту информацию необязательно. Просто нажимайте Enter , чтобы пропустить ввод данных.
$ sudo adduser pupkin [sudo] пароль для pingvinus: Добавляется пользователь «pupkin» . Добавляется новая группа «pupkin» (1001) . Добавляется новый пользователь «pupkin» (1001) в группу «pupkin» . Создаётся домашний каталог «/home/pupkin» . Копирование файлов из «/etc/skel» . Новый пароль : Повторите ввод нового пароля : passwd: пароль успешно обновлён Изменение информации о пользователе pupkin Введите новое значение или нажмите ENTER для выбора значения по умолчанию Полное имя []: Vasiliy Pupkin Номер комнаты []: 123 Рабочий телефон []: Домашний телефон []: Другое []: Janitor Данная информация корректна? [Y/n] y
В результате выполнения команды adduser будут выполнены следующие действия:
- Создается новый пользователь с именем, которое вы указали при выполнении команды.
- Создается группа с тем же именем.
- Создается домашний каталог пользователя в директории /home/имяпользователя
- В домашний каталог копируются файлы из директории /etc/skel
Команда useradd
Синтаксис команды useradd
Команда useradd принимает в качестве аргумента имя пользователя, а также различные опции.
Синтаксис команды следующий:
useradd опции имяпользователя
Создание нового пользователя
Чтобы просто создать пользователя используется команда useradd без каких-либо опций. Указывается только имя пользователя.
sudo useradd pupkinДанная команда создает нового пользователя с системными параметрами по умолчанию, которые прописаны в файле /etc/default/useradd
Чтобы пользователь мог войти в систему, необходимо задать для него пароль. Для этого используем команду:
sudo passwd pupkinСоздание нового пользователя с домашней директорией в /home
Создадим пользователя и его домашнюю директорию.
sudo useradd -m pupkinДомашняя директория создается по умолчанию в каталоге /home . Имя директории совпадает с именем пользователя.
Создание нового пользователя с произвольной домашней директорией
Чтобы создать пользователя с домашней директорией, расположенной в произвольном месте, используется опция -d , после которой указывается путь до директории. Директорию необходимо создать заранее.
Создаем домашнюю директорию для будущего пользователя:
sudo mkdir -p /users/pupkinКопируем файлы и директории, которые по умолчанию создаются в домашней директории пользователя в данной системе. Данные файлы находятся в директории /etc/skel
sudo cp -rT /etc/skel /users/pupkinСоздаем пользователя и указываем домашнюю директорию:
sudo useradd -d /users/pupkin pupkinМеняем права доступа у домашней директории:
sudo chown -R pupkin:pupkin /users/pupkinЗадаем пароль для пользователя:
sudo passwd pupkinМожно просмотреть информацию о пользователе, которая сохранена в файле /etc/passwd
cat /etc/passwd | grep pupkin pupkin:x:1001:1001::/users/pupkin:/bin/sh
Создание нового пользователя с произвольными UID, GID
Каждый пользователь в Linux имеет свой числовой идентификатор — UID, а также идентификатор основной группы пользователя — GID.
При создании пользователя можно задать произвольные номера UID и/или GID. При указании номера группы, группа с этим номером должна быть создана заранее.
useradd -u 1234 -g 1222 pupkinСоздание пользователя с указанием оболочки (shell)
По умолчанию новые пользователи создаются с оболочкой /bin/sh Чтобы задать другую оболочку, используется опция -s /путь/до/оболочки
sudo useradd -m -s /bin/bash pupkinСоздать пользователя и добавить его в группы
Обычно пользователи в Linux принадлежат нескольким группам. Чтобы при создании нового пользователя задать группы, к которым он будет принадлежать, используется опция -G список,групп
sudo useradd -m -G adm,cdrom,wheel -s /bin/bash pupkinЗаключение
Мы рассмотрели примеры создания нового пользователя в Linux с использованием команд adduser и useradd . Команда adduser более простая и в большинстве случаев рекомендуется использовать именно ее.