Qualquer usuário pode efetuar login no ISC4.GDB e manipular os dados na tabela USUÁRIOS. Aqui está como evitar que isso.

/ *
O reforço da segurança de dados (isc4.gdb) - versão B
-ele permite aos usuários alterar as próprias senhas,
esconde-se outros usuários nomes
(a menos que você esteja SYSDBA, você verá apenas 1 linha na "mesa" USUÁRIOS)

! Antes de executar esse script não esqueça de fazer backup _physical copy_ de isc4.gdb!

Escrito por: Ivan Prenosil, 2001
* /

CONNECT 'C: \ Program Files \ Borland \ InterBase \ isc4.gdb'
USUÁRIO 'SYSDBA'
PASSWORD 'masterkey';

/ ** Rename USERS2 tabela para os usuários existentes. ** /

Criar tabela USERS2 (
USER_NAME USER_NAME,
SYS_USER_NAME USER_NAME,
Group_name USER_NAME,
UID UID,
GID GID,
Passwd passwd,
PRIVILÉGIO PRIVILÉGIO,
Comentário Comentário,
FIRST_NAME NAME_PART,
MIDDLE_NAME NAME_PART,
LAST_NAME NAME_PART,
FULL_NAME calculado pela (primeiro_nome | | _UNICODE_FSS '' | | middle_name | | _UNICODE_FSS '' | | ultimo_nome)
);

INSERT INTO USERS2
(USER_NAME, SYS_USER_NAME, group_name, UID, GID, passwd, PRIVILEGE, COMENTAR, FIRST_NAME, MIDDLE_NAME, LAST_NAME)
SELECT
USER_NAME, SYS_USER_NAME, group_name, UID, GID, passwd, PRIVILEGE, COMENTAR, FIRST_NAME, MIDDLE_NAME, LAST_NAME
Dos usuários;

COMMIT;

DROP TABLE usuários;

Criar índice exclusivo sobre USER_NAME_INDEX2USERS2 (USER_NAME);

/ ** Criar ponto de vista de que será usado em vez do original USUÁRIOS tabela. ** /

Como visualizar os usuários criem
SELECT *
DESDE USERS2
ONDE USUÁRIO =''
USUÁRIO OU = 'SYSDBA'
USUÁRIO OU = USER_NAME;

/ ** Grants. ** /

Selecionar os usuários sobre a concessão pública;

GRANT UPDATE (passwd, group_name, UID, GID, FIRST_NAME, MIDDLE_NAME, LAST_NAME)
SOBRE OS USUÁRIOS
AO PÚBLICO;

Average rating: