Содержание

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

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

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

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

# groups
pingvinus adm cdrom sudo dip plugdev lpadmin sambashare

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

# groups root
root : root

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

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

sudo usermod -a -G editorsgroup pingvinus

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

# su - pingvinus
# groups
pingvinus adm cdrom sudo dip plugdev lpadmin sambashare editorsgroup

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

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

sudo gpasswd -d pingvinus editorsgroup

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

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

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

cut -d: -f1 /etc/group | sort

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

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

cut -d: -f1 /etc/passwd

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

root
daemon
bin
sys
sync
games
...
nobody
pingvinus

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

cat /etc/passwd | grep '/home' | cut -d: -f1

Результат значительно короче.

syslog
ntp
pingvinus