Muchos objetos
del sistema necesitan protección, tales como la
CPU, segmentos de memoria, unidades de disco,
terminales, impresoras, procesos, archivos, bases de
datos, etc.
Cada
objeto se referencia por un nombre y tiene
habilitadas un conjunto de operaciones sobre
él.
Un dominio es
un conjunto de parejas (objeto, derechos):
- Cada
pareja determina:
- Un
objeto.
- Un
subconjunto de las operaciones que se pueden
llevar a cabo en él.
Un derecho es
el permiso para realizar alguna de las operaciones.
Es
posible que un objeto se encuentre en varios dominios
con “distintos” derechos en cada dominio.
Un proceso se ejecuta
en alguno de los dominios de protección:
- Existe
una colección de objetos a los que puede tener
acceso.
- Cada
objeto tiene cierto conjunto de derechos.
Los
procesos pueden alternar entre los dominios durante la
ejecución.
Una
llamada al S. O. provoca una alternancia de
dominio.
En
algunos S. O. los dominios se llaman anillos.
Una
forma en la que el S. O. lleva un registro de los
objetos que pertenecen a cada dominio es mediante una matriz
:
- Los
renglones son los dominios.
- Las
columnas son los objetos.
- Cada
elemento de la matriz contiene los derechos
correspondientes al objeto en ese dominio, por ej.:
leer, escribir, ejecutar.
Listas
para control de acceso
Las “matrices
de protección” son muy grandes y con muchos
lugares vacíos:
- Desperdician
espacio de almacenamiento.
- Existen
métodos prácticos que almacenan solo los elementos
no vacíos por filas o por columnas.
La lista
de control de acceso (ACL: Access
Control List):
- Asocia
a cada objeto una lista ordenada con:
- Todos
los dominios que pueden tener acceso al objeto.
- La
forma de dicho acceso (ej: lectura (r), grabación
(w), ejecución (x)).
Una forma
de implementar las ACL consiste
en:
- Asignar
tres bits (r, w, x) para cada archivo, para:
- El
propietario, el grupo del propietario y los demás
usuarios.
- Permitir
que el propietario de cada objeto pueda modificar su
ACL en cualquier momento:
- Permite
prohibir accesos antes permitidos.
|