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).