Книга: Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ
Предоставление пользователям возможности изменять свой собственный пароль
Предоставление пользователям возможности изменять свой собственный пароль
Самым простым и наиболее известным способом изменения является предоставление следующей привилегии изменения для пользователя, не являющегося SYSDBA, GRANT UPDATE ON USERS то PUBLIC и добавление триггера, предотвращающего изменение пользователем, не являющимся SYSDBA, пароля других пользователей.
Вот скрипт:
/* Copyright Ivan Prenosil 2002-2004 */
CONNECT 'C:Program FilesFirebirdFirebird_1_5security.fdb'
USER 'SYSDBA' PASSWORD 'masterkey';
CREATE EXCEPTION E_NO_RIGHT 'You have no rights to modify this user.';
/* Вы не имеете прав для изменения этого пользователя */
SET TERM !!;
CREATE TRIGGER user_name_bu FOR USERS BEFORE UPDATE
AS
BEGIN
IF (NOT (USER = 'SYSDBA' OR USER = OLD.USER_NAME)) THEN
EXCEPTION E_NO_RIGHT;
END ! !
SET TERM ;!!
/** Grants. **/
GRANT UPDATE (PASSWD, GROUP_NAME, UID, GID,
FIRST_NAME, MIDDLE_NAME, LAST_NAME)
ON USERS TO PUBLIC;
Довольно неуклюже предоставлять доступ ко всем столбцам, когда вам реально нужен доступ только к PASSWD. К сожалению, это необходимо, если ваше приложение собирается использовать gsec или сервис API.
Такая модификация не устраняет проблему видимости для PUBLIC полного списка пользователей и их зашифрованных паролей. Это позволяет пользователям очень просто получить список паролей других пользователей и постараться сломать их локально посредством грубой силы[136].
- 11.2. СВОЙСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ
- Расширенные возможности указания пользовательских планов
- Возможности, планируемые к реализации в следующих версиях
- Возможности SSH
- 4. Свойства унарных операций
- 3. Свойства бинарных операций
- Глава 10 Возможности подсистемы хранения данных в различных версиях Windows NT
- Управление пользователями и разрешениями узла
- Ключевые свойства форм
- З.1.2. Пароль BIOS не сбрасывается даже при удалении батарейки. Почему?
- Не хочу, чтобы компьютером пользовались в мое отсутствие. Как установить пароль и блокировать машину?
- Где лучше хранить свой пароль?