Шифрование и секретность в Linux

       

Шифрование и секретность в Linux


Управление пользователями и группами
Управление пользователями и группами В PostgreSQL, как ив большинстве СУБД, важная роль отведена пользователям и группам. Правильное применение механизма пользователей ц групп обеспечивает


Управление пользователями
Управление пользователями Чтобы создать подключение к PostgreSQL, необходимо сообщить о себе некоторые данные. По имени пользователя система узнает, кто именно подключается к базе данны

Просмотр списка пользователей
Просмотр списка пользователей Вся информация о пользователях PostgreSQL хранится в системной таблице pg_shadow, структуру которой иллюстрирует табл. 10.1. Выборка из этой таблицы разре

Таблица 10 1 Структура таблицы pg_shadow
Таблица 10.1. Структура таблицы pg_shadow Поле Тип usename name usesysid integer usecreatedb boolean usetr

Создание пользователей


Создание пользователей В PostgreSQL существует два способа создания учетных записей пользователей базы данных. Оба способа требуют аутентификации суперпользователя, поскольку только су

Создание пользователей командой SQL CREATE USER
Создание пользователей командой SQL CREATE USER Команда CREATE USER имеет всего один обязательный параметр — имя нового пользователя. Ей также можно передать множество других параметров, в


Листинг 10 1 Создание обычного пользователя
Листинг 10.1. Создание обычного пользователя tempiatel=# CREATE USER dbuser CREATEDB tempiatel-# WITH PASSWORD 'DbuSSr' tempiatel-# VALID UNTIL '2002-11-11'; CREATE USER Сообщени

Листинг 10 2 Создание пользователя с правом CREATEDB
Листинг 10.2. Создание пользователя с правом CREATEDB tempiatel=# CREATE USER dbuser CREATEDB tempiatel-# WITH PASSWORD 'DbuS3r' tempiatel-f VALID UNTIL '2002-11-11'; CREATE USER

Листинг 10 3 Создание суперпользователя
Листинг 10.3. Создание суперпользователя tempiatel=# CREATE USER manager CREATEUSER; CREATE USER

Создание пользователей при помощи сценария createuser
Создание пользователей при помощи сценария createuser Сценарий createuser запускается непосредственно из командной строки и работает в одном из двух режимов. При вызове без аргументов

Листинг 10 4 Создание пользователя сценарием createuser
Листинг 10.4. Создание пользователя сценарием createuser [jworsley@booktown -]$ createuser -U manager -D -A newuser CREATE USER Обратите внимание на ключ -U manager, переданный сц


Листинг 10 5 Интерактивное создание
Листинг 10.5. Интерактивное создание пользователя сценарием createuser [jworsley@booktown -]$ createuser Enter name of user to add: newuser Shall the new user be allowed to create dat

Модификация пользователей
Модификация пользователей Существующие учетные записи пользователей могут изменяться только суперпользователями PostgreSQL. При этом допускается изменение всех параметров, указываемых

Листинг 10 6 Изменение пароля
Листинг 10.6. Изменение пароля tempiatel=# ALTER USER salesuser tempiatel-# WITH PASSWORD 'n3WP4s4' tempiatel-# VALID UNTIL '2003-01-01': ALTER USER Иногда пользователю требуется пр

Листинг 10 7 Предоставление прав суперпользователя
Листинг 10.7. Предоставление прав суперпользователя tempiatel=# ALTER USER salesuser tempiatel-# CREATEUSER; ALTER USER Возможна и обратная ситуация — когда требуется отобрать у пол

Листинг 10 8 Отзыв прав суперпользователя
Листинг 10.8. Отзыв прав суперпользователя tempiatel=# ALTER USER salesuser tempiatel-# NOCREATEDB NOCREATEUSER; ALTER USER ВНИМАНИЕ Суперпользователи могут лишать прав других су


Удаление пользователей
Удаление пользователей Аутентифшщрованный суперпользователь может в любой момент удалить из системы любого пользователя PostgreSQL. Существует единственное ограничение — нельзя удалить

Удаление пользователей командой SQL DROP USER
Удаление пользователей командой SQL DROP USER Чтобы удалить пользователя PostgreSQL, суперпользователь может ввести команду DROP USER в любом клиенте. Чаще всего для этого применяется клие

Листинг 10 9 Удаление пользователя командой DROP USER
Листинг 10.9. Удаление пользователя командой DROP USER [jworsley@booktown -]$ psql -U manager template! Welcome to psql. the PostgreSQL interactive terminal. Type: \copyright for

Удаление пользователей при помощи сценария dropuser
Удаление пользователей при помощи сценария dropuser Сценарий dropuser имеет много общего со сценарием createuser. Он поддерживает те же параметры подключения, что позволяет запускать его к

Листинг 10 10 Удаление пользователя приложением dropuser
Листинг 10.10. Удаление пользователя приложением dropuser [jworsley@booktown -]$ dropuser -U manager salesuser DROP USER Приложение dropuser выводит те же сообщения, что и команда SQL


Управление группами
Управление группами Группы упрощают процедуру назначения прав пользователям. Обычные привилегии должны назначаться каждому пользователю по отдельности. Это может быть весьма утомительно

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

Создание группы
Создание группы Любой суперпользователь может создать новую группу PostgreSQL командой SQL CREATE GROUP. Синтаксис команды CREATE GROUP: CREATE GROUP группа [ WITH [ SYSID идентифика

Листинг 10 11 Создание группы
Листинг 10.11. Создание группы booktown=# CREATE GROUP sales booktown-# WITH USER alien, Vincent; CREATE GROUP Сообщение CREATE GROUP означает, что группа успешно создана. Чтобы убедит

Листинг 10 12 Получение списка групп
Листинг 10.12. Получение списка групп booktown=# SELECT * FROM pg_group; groname grosysid | grolist sales | 1 | {7017.7016} accounting | 2 | marketing | 3 (3 rows) Обратите вни


Удаление группы
Удаление группы Любой суперпользователь может удалять существующие группы командой SQL DROP GROUP. Будьте внимательны при выполнении этой команды, поскольку она необратима и вам не буд

Листинг 10 13 Удаление группы
Листинг 10.13. Удаление группы booktown=# DROP GROUP marketing; DROP GROUP Сообщение DROP GROUP означает, что группа успешно удалена. Учтите, что при удалении группы назначенные ей пр

Назначение пользователей в группы
Назначение пользователей в группы Включение пользователей в группы и удаление их из групп в PostgreSQL выполняется командой SQL ALTER GROUP. Синтаксис команды ALTER GROUP: ALTER GROUP г

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

Листинг 10 14 Включение пользователей в группу
Листинг 10.14. Включение пользователей в группу booktown=# ALTER GROUP sales ADD USER david. ben; ALTER GROUP Сообщение ALTER GROUP означает, что пользователи david и ben успешно


Листинг 10 15 Проверка факта включения
Листинг 10.15. Проверка факта включения пользователей в группу booktown=# SELECT * FROM pg_group WHERE groname = 'sales': groname | grosysid | grolist sales 1 | {7019.7018.7017.701

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

Листинг 10 16 Удаление пользователя из группы
Листинг 10.16. Удаление пользователя из группы booktown=# ALTER GROUP sales DROP USER david; ALTER GROUP Сообщение ALTER GROUP означает, что пользователь david успешно удален из г

Предоставление привилегий
Предоставление привилегий В PostgreSQL учет привилегий ведется при помощи списков управления доступом (access control lists, ACL). Информация, хранящаяся в этих списках, указывает, каки

Управление доступом
Управление доступом Как упоминалось выше, списки управления доступом относятся к трем категориям объектов баз данных: таблицам, спискам и последовательностям. Для этих объектов существ


Таблица 10 2 Привилегии доступа в PostqreSQL
Таблица 10.2. Привилегии доступа в PostqreSQL Ключевое слово Символ Описание SELECT r Пользователю разрешается выборка данных из

Предоставление привилегий командой GRANT
Предоставление привилегий командой GRANT Для предоставления привилегий пользователям и группам используется команда SQL GRANT. Синтаксис команды GRANT: GRANT привилегия [, ...] ON объек

Листинг 10 17 Предоставление привилегий пользователям
Листинг 10.17. Предоставление привилегий пользователям booktown=# GRANT ALL ON customers, books, editions, publishers booktown-# TO manager; CHANGE Ключевое слово ALL предостав

Листинг 10 18 Предоставление групповых привилегий
Листинг 10.18. Предоставление групповых привилегий booktown=# GRANT SELECT ON customers TO GROUP sales: CHANGE booktown=# \z customers Access permissions for database "booktow

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


Листинг 10 19 Отзыв прав
Листинг 10.19. Отзыв прав booktown=# \z books Access permissions for database "booktown" Relation | Access permissions books | {"="."manager=arwR". CREATE

Листинг 10 21 Управление привилегией SELECT
Листинг 10.21. Управление привилегией SELECT booktown=# CREATE USER barbara; CREATE USER booktown=# GRANT USER barbara SELECT ON stock_view; booktown=# \c - barbara You are now