====== Добавление пользователя в группу. Списки пользователей и групп в 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