8.3. Определение кодов UID и GID

Проблема

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

Решение

Воспользуйтесь командой id для получения информации о пользователе. Команда выводит UID (идентификатор пользователя), GID (идентификатор группы) и список групп, к которым принадлежит пользователь. Пример использования команды:

$ id carla
uid=1000(carla) gid=1000(carla) groups=1000(carla),20(dialout),24(cdrom),25(floppy),29(audio),30(dip),44(video),105(windows),432(usb),1001(cdrecording)

В этом примере видно, что пользователь carla имеет UID 1000 и GID 1000, и принадлежит к нескольким группам, таким как dialout, cdrom, audio, video и другие.

Если нужно вывести только UID, используйте ключ -u:

$ id -u carla
1000

Для получения только GID используйте ключ -g:

$ id -g carla
1000

Если нужно вывести имя первичной группы вместо её GID, используйте ключ -gn:

$ id -gn carla
carla

Комментарий

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

Помимо стандартных ключей, команда id может использоваться совместно с другими утилитами, например, grep для фильтрации выводимых данных. Если в системе много пользователей и требуется определить, к каким группам принадлежит конкретный пользователь, это можно сделать с помощью следующей команды:

$ id carla | grep 'audio'
29(audio)

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

Ещё одной полезной командой для работы с группами является groups. Она выводит все группы, к которым принадлежит пользователь:

$ groups carla
carla : carla dialout cdrom floppy audio dip video windows usb cdrecording

Таким образом, groups и id можно использовать в тандеме для полного понимания прав доступа пользователя.

Создание новых пользователей также связано с назначением UID и GID. Команда useradd позволяет создавать новые учетные записи с указанием UID и GID. Пример создания нового пользователя с конкретными UID и GID:

$ sudo useradd -u 1100 -g 1100 newuser

В этом примере новый пользователь newuser получает UID и GID 1100. Это может быть полезно при интеграции новых пользователей в существующую инфраструктуру или при необходимости соблюдения конкретных правил безопасности.

См. также

man id(1), man useradd(8), man groups(1).