Cualquier usuario puede acceder a ISC4.GDB y manipular datos en el cuadro USUARIOS. Aquí es cómo evitar que esto suceda.

/ *
Aumento de base de datos de seguridad (isc4.gdb) - versión B
-que permite a los usuarios cambiar sus propias contraseñas,
-se oculta los nombres de otros usuarios
(a menos que se SYSDBA, verá sólo el 1 fila de "tabla" USUARIOS)

! Antes de ejecutar este script no se olvide de hacer copia de seguridad _physical copy_ de isc4.gdb!

Escrito por: Ivan Prenosil, 2001
* /

CONNECT 'C: \ Archivos de programa \ Borland \ InterBase \ isc4.gdb "
Usuario 'SYSDBA "
PASSWORD 'masterkey';

/ ** Cambie el nombre de los usuarios existentes a la mesa USERS2. ** /

CREATE TABLE USERS2 (
USER_NAME USER_NAME,
SYS_USER_NAME USER_NAME,
Group_name USER_NAME,
UID UID,
GID GID,
Passwd passwd,
PRIVILEGIO privilegio,
COMENTARIO COMENTARIO,
NAME_PART: nombre,
MIDDLE_NAME NAME_PART,
NAME_PART apellido,
FULL_NAME calcula (first_name | | _UNICODE_FSS '' | | middle_name | | _UNICODE_FSS '' | | apellido)
);

Insert into USERS2
(USER_NAME, SYS_USER_NAME, group_name, UID, GID, passwd, privilegio, comentario, nombre, MIDDLE_NAME, apellido)
SELECCIONAR
USER_NAME, SYS_USER_NAME, group_name, UID, GID, passwd, privilegio, comentario, nombre, MIDDLE_NAME, apellido
De los usuarios;

COMMIT;

DROP TABLE usuarios;

Crear índice único sobre USER_NAME_INDEX2USERS2 (usuario);

/ ** Crear opinión de que se utilizarán en lugar de la tabla original USUARIOS. ** /

CREATE VIEW usuarios
SELECT *
DE USERS2
Donde usuario =''
O usuario = 'SYSDBA "
O usuario = USER_NAME;

/ ** Grants. ** /

Conceder a los usuarios seleccionar al orden público;

SUBVENCIÓN Update (passwd, group_name, UID, GID, nombre, MIDDLE_NAME, apellido)
DE LOS USUARIOS
AL PÚBLICO;

Average rating: