Библиотека сайта rus-linux.net
Фундаментальные основы Linux. Часть VII. Управление локальными учетными записями пользователей
Оригинал: Linux FundamentalsАвтор: Paul Cobbaut
Дата публикации: 16 октября 2014 г.
Перевод: А.Панин
Дата перевода: 23 декабря 2014 г.
Глава 29. Группы пользователей
Учетные записи пользователей системы могут объединяться в рамках групп
. Концепция групп пользователей позволяет устанавливать права доступа на уровне групп пользователей вместо установки аналогичных прав доступа для каждого отдельного пользователя.
В каждом дистрибутиве Unix или Linux имеется инструмент с графическим интерфейсом для управления группами пользователей. Пользователям, не имеющим опыта работы с данными системами, рекомендуется использовать именно эти инструменты. Более опытные пользователи могут использовать инструменты с интерфейсом командной строки для управления учетными записями пользователей, проявляя при этом осторожность: некоторые дистрибутивы не позволяют работать одновременно с инструментами для управления группами пользователей с графическим интерфейсом и интерфейсом командной строки (примером может служить инструмент YaST из состава дистрибутива Novell Suse). Опытные системные администраторы могут осуществлять непосредственное редактирование соответствующих файлов с помощью текстового редактора vi
или утилиты vigr
.
Утилита groupadd
groupadd
. В примере ниже показана методика создания пяти групп (без добавления в них пользователей).
root@laika:~# groupadd tennis root@laika:~# groupadd football root@laika:~# groupadd snooker root@laika:~# groupadd formula1 root@laika:~# groupadd salsa
Файл group
/etc/group
.
root@laika:~# tail -5 /etc/group tennis:x:1006: football:x:1007: snooker:x:1008: formula1:x:1009: salsa:x:1010: root@laika:~#
Первым полем в строке с описанием группы пользователей является имя группы. Во втором поле размещается (зашифрованный) пароль группы (это поле может быть пустым). В третьем поле размещается идентификатор группы или значение GID
. Четвертое поле является списком членов группы, который в данном случае является пустым, так как в группах нет пользователей.
Команда groups
groups
для ознакомления со списком групп, в которых он состоит.
[harry@RHEL4b ~]$ groups harry sports [harry@RHEL4b ~]$
Утилита usermod
usermod
.
root@laika:~# usermod -a -G tennis inge root@laika:~# usermod -a -G tennis katrien root@laika:~# usermod -a -G salsa katrien root@laika:~# usermod -a -G snooker sandra root@laika:~# usermod -a -G formula1 annelies root@laika:~# tail -5 /etc/group tennis:x:1006:inge,katrien football:x:1007: snooker:x:1008:sandra formula1:x:1009:annelies salsa:x:1010:katrien root@laika:~#
Проявляйте осторожность при использовании утилиты usermod
для добавления пользователей в группы. По умолчанию утилита usermod
будет удалять
пользователя из всех групп, в которых он состоял, если имена данных групп не были переданы в составе команды! Использование параметра -a
(append - дополнение) позволяет избежать данного поведения.
Утилита groupmod
groupmod
.
root@laika:~# groupmod -n darts snooker root@laika:~# tail -5 /etc/group tennis:x:1006:inge,katrien football:x:1007: formula1:x:1009:annelies salsa:x:1010:katrien darts:x:1008:sandra
Утилита groupdel
groupdel
.
root@laika:~# groupdel tennis root@laika:~#
Утилита gpasswd
gpasswd
. В примере ниже мы делегируем права на добавление пользователей в группу sports и удаление их из нее пользователю serena. После этого мы используем команду su
для добавления пользователя harry в группу sports от лица пользователя serena.
[root@RHEL4b ~]# gpasswd -A serena sports [root@RHEL4b ~]# su - serena [serena@RHEL4b ~]$ id harry uid=516(harry) gid=520(harry) группы=520(harry) [serena@RHEL4b ~]$ gpasswd -a harry sports Добавление пользователя harry в группу sports [serena@RHEL4b ~]$ id harry uid=516(harry) gid=520(harry) группы=520(harry),522(sports) [serena@RHEL4b ~]$ tail -1 /etc/group sports:x:522:serena,venus,harry [serena@RHEL4b ~]$
[serena@RHEL4b ~]$ gpasswd -d serena sports Удаление пользователя serena из группы sports [serena@RHEL4b ~]$ exit
/etc/gshadow
.
[root@RHEL4b ~]# tail -1 /etc/gshadow sports:!:serena:venus,harry [root@RHEL4b ~]#
gpasswd
с параметрами для задания пустого списка администраторов.
[root@RHEL4b ~]# gpasswd -A "" sports
Утилита newgrp
дочернюю командную оболочку
с новой временной основной группой пользователя
, воспользовавшись командой newgrp
.
root@rhel65:~# mkdir prigroup root@rhel65:~# cd prigroup/ root@rhel65:~/prigroup# touch standard.txt root@rhel65:~/prigroup# ls -l итого 0 -rw-r--r--. 1 root root 0 апр 13 17:49 standard.txt root@rhel65:~/prigroup# echo $SHLVL 1 root@rhel65:~/prigroup# newgrp tennis root@rhel65:~/prigroup# echo $SHLVL 2 root@rhel65:~/prigroup# touch newgrp.txt root@rhel65:~/prigroup# ls -l итого 0 -rw-r--r--. 1 root tennis 0 апр 13 17:49 newgrp.txt -rw-r--r--. 1 root root 0 апр 13 17:49 standard.txt root@rhel65:~/prigroup# exit exit root@rhel65:~/prigroup#
Утилита vigr
По аналогии с утилитой vipw, утилита vigr
может использоваться для редактирования файла /etc/group
в ручном режиме, так как она осуществляет корректную блокировку этого файла в процессе редактирования. Текстовый редактор vi
или утилита vigr
может использоваться для управления группами пользователей исключительно опытными системными администраторами.
Практическое задание: группы пользователей
-
1. Создайте группы пользователей tennis, football и sports.
-
2. С помощью одной команды сделайте пользователя venus членом групп tennis и sports.
-
3. Переименуйте группу пользователей fotball в foot.
-
4. Используйте текстовый редактор vi для добавления пользователя serena в группу пользователей tennis.
-
5. Используйте команду id для того, чтобы убедиться, что пользователь serena состоит в группе пользователей tennis.
-
6. Сделайте кого-либо из пользователей ответственным за управление членством пользователей в группах foot и sports. Проверьте работоспособность использованного механизма.
Корректная процедура выполнения практического задания: группы пользователей
-
1. Создайте группы пользователей tennis, football и sports.
-
groupadd tennis ; groupadd football ; groupadd sports
-
2. С помощью одной команды сделайте пользователя venus членом групп tennis и sports.
-
usermod -a -G tennis,sports venus
-
3. Переименуйте группу пользователей fotball в foot.
-
groupmod -n foot football
-
4. Используйте текстовый редактор vi для добавления пользователя serena в группу пользователей tennis.
-
vi /etc/group
-
5. Используйте команду id для того, чтобы убедиться, что пользователь serena состоит в группе пользователей tennis.
-
id (после выхода из системы и входа в нее пользователь serena должен быть членом группы)
-
6. Сделайте кого-либо из пользователей ответственным за управление членством пользователей в группах foot и sports. Проверьте работоспособность использованного механизма.
-
gpasswd -A (для того, чтобы сделать пользователя ответственным за управление членством в группе пользователей) gpasswd -a (для того, чтобы сделать пользователя членом группы пользователей)
Предыдущий раздел: | Оглавление | Следующий раздел: |
Глава 28. Профили пользователей | Глава 30. Стандартные права доступа к файлам |