Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Беспроводные выключатели nooLite купить дешевый 
компьютер родом из Dhgate.com

Lines Club

Ищем достойных соперников.

Библиотека сайта или "Мой Linux Documentation Project"

Фундаментальные основы 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

Членство пользователя в группах может быть изменено с помощью утилиты useradd или 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. Стандартные права доступа к файлам

Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют