El Control De Acceso Enumera el Acl


  Share  
|


Una variante obvia de la matriz del control de acceso es almacenar cada columna con el objeto que representa. Así, cada objeto ha asociado a él un sistema de pares, con cada par conteniendo un tema y un sistema de las derechas. El tema nombrado puede tener acceso al objeto asociado usando cualesquiera de las esas derechas. Más formalmente:

Deje S ser el sistema de temas, y R el sistema de las derechas, de un sistema. Un Access Control List (ACL) l es un sistema de pares l = {(s, r): s incluido en S, r incluidos en R}. Deje el acl ser una función que determina el Access Control List l asociado a un objeto particular o. La interpretación del acl(o) del Access Control List = {(silicio, ri): 1 < = i < = n} es que el silicio sujeto puede tener acceso a o usando a la derecha en ri.

Una edición es la materia del permiso del defecto. Si un tema no se nombra en el ACL, no tiene ninguna derecha sobre el objeto asociado. En un sistema con muchos temas, el ACL puede ser muy grande. Si muchos temas tienen la misma derecha sobre el archivo, uno podría definir un "comodín" para emparejar cualquier tema innomado, y le da las derechas del defecto.

EJEMPLO: UNICOS 7.0 ACLs tienen entradas de la forma (usuario, grupo, las derechas). Si el usuario está en el grupo nombrado, él o ella tiene esas derechas sobre el objeto. Por ejemplo, el trío (el acebo, maceranch, r) da el acceso leído acebo del usuario (r) sobre el objeto solamente cuando el acebo tiene maceranch como su grupo.

Si especifican al usuario o al grupo como "*", ese carácter se toma para emparejar a todos los usuarios o a todos los grupos. Así, (acebo, *, r) da acebo leyó el permiso sobre el objeto sin importar el grupo que ella está adentro; (*, el maceranch, r) da cualquier permiso leído usuario sobre el objeto cuando ese usuario está en el maceranch del grupo.


Abreviaturas de las listas del control de acceso

Algunos sistemas abrevian listas del control de acceso. La base para el control de acceso del archivo en el sistema operativo de UNIX está de esta variedad. Los sistemas de UNIX dividen el sistema de usuarios en tres clases: el dueño del archivo, el dueño del grupo del archivo, y el resto de los usuarios. Cada clase tiene un sistema separado de las derechas.

EJEMPLO: Los sistemas de UNIX proporcionan leen (r), escriben (w), y ejecutan (x) las derechas. Cuando el obispo del usuario crea un archivo, asuma que está en el vulner del grupo. Inicialmente, el obispo solicita que él pueda leer en y escribir al archivo, que se permita a los miembros del grupo leer en el archivo, y que ningunos otros tienen acceso al archivo. Entonces los permisos serían rw para el dueño, r para el grupo, y ninguno para otro.

Los permisos de UNIX se representan como tres tríos. El primer los correcto del dueño; el segundo, las derechas del grupo; y el tercero, otras derechas. Dentro de cada trío, la primera posición es r si se permite el acceso leído o si no es; la segunda posición es W si escriba el acceso se permite o si no es; y la tercera posición es x si ejecute el acceso se permite o si no es. Los permisos para el archivo del obispo serían rwr.

Una pregunta interesante es cómo los sistemas de UNIX asignan propiedad del grupo. Tradicionalmente, los sistemas de UNIX asignan la identificación de grupo principal eficaz del proceso que crea. Pero en algunos casos esto no es apropiado. Por ejemplo, suponga la línea trabajos del programa de la impresora usando permisos del grupo; diga que su grupo es lpdaemon. Entonces, cuando un usuario copia un archivo en el directorio spool, el lpdaemon debe poseer el archivo de carrete. La manera más simple de hacer cumplir este requisito es hacer el grupo del directorio spool poseído por el lpdaemon y hacer la propiedad del grupo heredar por todos los archivos creados en ese directorio. Algunos systemsnotably, systemsaugment de Solaris y de SunOS que la semántica de los modos de la protección de archivo fijando el setgid mordió en el directorio cuando cualquier archivo creado en el directorio debe heredar la propiedad del grupo del directorio que contiene.


Las abreviaturas de las listas del control de acceso, tales como ésos apoyados por el sistema operativo de UNIX, sufren de una pérdida de granularity. Suponga que un sistema de UNIX tiene cinco usuarios. Anne desea permitir que Beth lea su archivo, Caroline para escribirle, Della a leerle y a escribir, y Elizabeth para ejecutarlo. Porque hay solamente tres sistemas de permisos y cinco desearon arreglos de las derechas (Alicia incluyendo), tres tríos son escasos para permitir todos los modos deseados del acceso. Por lo tanto, Alicia debe comprometerse, y dé a alguien las más derechas que ella desea o da a alguien las pocas derechas. Semejantemente, el control de acceso tradicional de UNIX no permite que uno diga "todos sino a usuario Fran"; para hacer esto, uno debe crear a grupos de todos los usuarios excepto Fran. Tal arreglo es incómodo, tanto más porque solamente un administrador de sistema puede crear a grupos.

Muchos sistemas aumentan abreviaturas de ACLs con verdadero ACLs. Este esquema utiliza las abreviaturas de ACLs como los controles del permiso del defecto; el ACL explícito elimina los defectos según lo necesitado. El método exacto varía.

EJEMPLO: La versión de la IBM del sistema operativo de UNIX, llamada AIX, utiliza un ACL (llamado "amplió permisos") para aumentar las abreviaturas tradicionales de UNIX del ACL (llamado los "permisos bajos"). Desemejante de ACLs tradicional, el AIX ACL permite que uno especifique permisos de ser agregado o de ser suprimido del sistema del usuario. Como UNICOS, AIX basa fósforos en identidad del grupo y del usuario. El algoritmo específico (usar la terminología de AIX, en la cual los "permisos bajos" son las abreviaturas de UNIX de ACLs y de "permisos extendidos" es entradas sin abreviar del ACL) está como sigue.

  1. Determínese qué fijó S de permisos que el usuario tiene de los permisos bajos.

  2. Si los permisos extendidos son lisiados, pare. El sistema S es el sistema del usuario de permisos.

  3. Consiga la entrada siguiente en los permisos extendidos. Si no hay no más, pare. El sistema S es el sistema del usuario de permisos.

  4. Si la entrada tiene el mismo usuario y grupo que el proceso que solicita el acceso, determínese si la entrada niega el acceso. Si es así pare. Se niega el acceso.

  5. Modifique S según lo dictado por los permisos en la entrada.

  6. Vaya a 3.

Como ejemplo específico, considere la representación siguiente de los permisos del control de acceso de un sistema de AIX para el archivo xyzzy.

     
cualidades: owner(bishop) bajo        de los 
permisos:    group(sys)        del rw-:       r
--        otros:           --- los permisos extendidos 
permitidos        especifican           el permiso      del rw-        u:holly            - W      u:heidi, rw-        u:matt            del permiso      de los g=sys        niegue              - W      u:holly, g=faculty

En las líneas extendidas de los permisos, el primer campo se determina lo que significa la línea ("especifique" para eliminar los permisos bajos, "permiso" de agregar las derechas, y "niegue" a las derechas de la cancelación); el segundo campo indica las derechas implicadas, usando el trío tradicional de UNIX; y el tercer campo define a usuario ("u:") y grupo ("g:") implicado.

En este ejemplo, el acebo puede leer xyzzy porque las primeras y cuartas líneas en la sección extendida de los permisos eliminan la negación baja del permiso del acceso a otros (la clase de las cuales acebo sea un miembro). Si el acebo está trabajando en el grupo de la facultad, ella no puede escribir a xyzzy (la línea pasada) pero puede leerla (primera línea). El heidi del usuario, trabajando en el sistema del grupo, puede leer y escribir al archivo (la línea del grupo en los permisos bajos da el permiso leído heidi; la primera línea del permiso en los permisos extendidos que la sección da su el permiso de escritura). De esta manera, los permisos extendidos aumentan los permisos bajos.

Creación y mantenimiento de las listas del control de acceso

Las puestas en práctica específicas de ACLs diferencian en detalles. Algunas de las ediciones están como sigue.

  1. ¿Qué temas pueden modificar el ACL de un objeto?

  2. ¿Si hay un usuario privilegiado (tal como raíz en el sistema de UNIX o administrador en Windows NT), los ACLs se aplican a ese usuario?

  3. ¿los grupos de ayuda del ACL o los comodines (es decir, pueden los usuarios ser agrupados en los sistemas basados en una noción del sistema del "grupo" o en la concordancia con el modelo)?

  4. ¿Cómo se manejan los permisos contradictorios del control de acceso? ¿Si las concesiones de una entrada leen privilegios solamente y otras concesiones escriben los privilegios solamente, que derecho el tema tiene sobre el objeto?

  5. ¿Si se permite un ajuste del defecto, los permisos del ACL lo modifican, o se utiliza el defecto solamente cuando el tema no se menciona explícitamente en el ACL?

Porque estos isues son críticos al uso correcto de ACLs en un sistema, lo exploraremos más detalladamente.

¿Qué temas pueden modificar el ACL de un objeto?

Cuando se crea un ACL, las derechas son instantiated. El jefe entre las estas derechas es el que llamaremos para poseer. Los poseedores del poseer a la derecha pueden modificar el ACL.

Crear un objeto también crea su ACL, con un cierto valor inicial (posiblemente vacío, pero dan más generalmente el creador inicialmente todas las derechas, incluyendo propio, sobre el nuevo objeto). Por la convención, el tema con las propias derechas se permite modificar el ACL. Sin embargo, algunos sistemas permiten que cualquier persona con el acceso manipule las derechas.

EJEMPLO: El sistema R de la base de datos emparentada contiene sistemas de n-n-tuples que hacen encima de los expedientes, y cada elemento de cada n-n-tuple tiene cualidades. Estos n-n-tuples se almacenan como tablas, con los expedientes como las filas y las cualidades como las columnas. Cada tabla define una relación.

Las derechas para manipular una tabla (relación) incluyen leído (para las filas de la lectura, preguntando con la relación, o definiendo opiniónes), se ponen al día (para escribir a una tabla), insertan (para agregar filas), suprimen (para suprimir filas), y gota (para suprimir las tablas). Cada uno derecho tiene un modificante, llamado la opción de la concesión, que si el sistema permite que el poseedor dé la derecha a otra. Cualquier usuario con el acceso a una tabla puede dar las derechas a cualquier otro usuario, con tal que la derecha tenga la opción de la concesión. Por lo tanto, posesión del acceso (y una opción de la concesión asociada a cada uno la derecha), no propiedad, controles la transferencia de las derechas.


¿Los ACLs se aplican a un usuario privilegiado?

Muchos sistemas tienen usuarios con privilegios adicionales. Los dos conocidos lo más mejor posible son el super-user de la raíz en los sistemas de UNIX y el usuario del administrador en Windows NT y 2000 sistemas. Típicamente, ACLs (o sus formas degeneradas) se aplican en una manera limitada a tales usuarios.

EJEMPLO: Los sistemas de Solaris UNIX utilizan las abreviaturas del estándar de ACLs a los sistemas de UNIX y un verdadero ACL. Las abreviaturas de ACLs se no hacen caso cuando la raíz es el tema, pero los ACLs llenos se aplican incluso a la raíz.


¿los grupos de ayuda del ACL y los comodines?

En su forma, ACLs clásicos no los grupos de ayuda o los comodines. En la práctica, los sistemas apoyan uno o el otro (o ambos) para limitar el tamaño del ACL y para hacer la manipulación de las listas más fácil. Un grupo puede refinar las características de los procesos para no ser prohibidos el acceso o ser un sinónimo para un sistema de los usuarios (los miembros del grupo).

EJEMPLO: En el ejemplo de AIX arriba, recuerde que eran las líneas extendidas del permiso (que corresponden al máximo ACL)

permisos extendidos permitidos
especifique el rw- u:holly
permiso - W u:heidi, g=sys
rw- u:matt del permiso
niegue - W u:holly, g=faculty

Inicialmente, el sistema del grupo había leído el permiso solamente en el archivo. La segunda línea agrega el permiso de escritura para los procesos con heidi de UID y el sistema de GID. La primera línea da procesos con el acebo de UID leído y escribe el acceso, a menos que cuando el GID del proceso es la facultad, en que caso el proceso no puede escribir al objeto (véase la cuarta línea).


EJEMPLO: El sistema operativo de UNICOS proporciona ACLs similar a los de AIX, pero permite comodines. Por ejemplo,

acebo: maceranch: r  
significa que un proceso con acebo de UID y maceranch de GID puede leer el objeto con el cual el ACL es asociado. La entrada del ACL
acebo: *: r  
significa que un proceso con acebo de UID puede tener acceso al objeto sin importar el grupo que el proceso está adentro. Y la entrada
*: maceranch: r  
significa que cualquier proceso con el maceranch de GID puede leer el objeto.

Conflictos

Un conflicto se presenta cuando dos entradas del Access Control List en el mismo ACL dan diversos permisos al tema. El sistema puede permitir el acceso si cualquier entrada diera el acceso, niega el acceso si cualquier entrada negaría el acceso, o aplica la primera entrada que empareja el tema.

EJEMPLO: Si cualquier entrada en un AIX ACL niega el acceso, el tema se niega el acceso sin importar la localización de esa entrada. Si no, si cualquier entrada ha concedido el acceso, el tema se concede el acceso. Éste es un ejemplo de la negación que toma precedencia.


EJEMPLO: Las rebajadoras del Cisco aplican la primera entrada del Access Control List que empareja el paquete entrante. Si ninguno se aplica, se desecha el paquete entrante. Éste es un ejemplo del segundo acercamiento, con una regla del defecto de niega.


ACLs y permisos del defecto

Cuando coexisten ACLs y las abreviaturas de las listas del control de acceso o de las derechas de acceso del defecto (como en muchos sistemas de UNIX), hay dos maneras de determinar las derechas de acceso. El primer debe aplicar la entrada apropiada del ACL, si existe una, y aplicar los permisos del defecto o las abreviaturas de las listas del control de acceso de otra manera. La segunda manera es aumentar los permisos del defecto o las abreviaturas de las listas del control de acceso con ésos en la entrada apropiada del ACL.

EJEMPLO: El AIX amplió permisos baja en la segunda categoría, porque modifican los permisos bajos.


EJEMPLO: Si un paquete que entra en una rebajadora del Cisco es destinado para un anfitrión en una red detrás de la rebajadora, pero la rebajadora no tiene ninguna entrada de la lista del acceso que permita que el paquete sea remitido, se desecha el paquete. Éste es un ejemplo del primer método, porque es el permiso del defecto niega.

Revocación de las derechas

La revocación, o la prevención de un tema que tiene acceso a un objeto, requiere que las derechas del tema estén suprimidas del ACL del objeto.

Evitar que un tema tenga acceso a un objeto es simple. La entrada para el tema se suprime del ACL del objeto. Si solamente se van las derechas específicas a ser suprimidas, se quitan de la entrada del tema relevante en el ACL.

Si la propiedad no controla dar de las derechas, la revocación es más compleja.

EJEMPLO: La vuelta al sistema R. Suppose Ana ha dado las derechas de la actualización de Peter sobre una relación T pero ahora desea revocarlas. El sistema R sostiene que después de revocar, el estado de la protección del sistema debe estar como era antes de que Ana diera a Peter la cualquier derecha. Específicamente, si se revoca Peter da a Maria las derechas de la actualización, cuando Ana revoca las derechas de la actualización de Peter, las derechas de la actualización de Maria a menos que alguien con excepción de Peter también le haya dado las derechas de la actualización.

Para poner esto en ejecucio'n, el sistema R define una relación llamada Sysauth. Las cualidades de esta relación son (usuario, tabla, donante, leído, relleno, cancelación, gota, actualización). Los valores de las cualidades que corresponden a las derechas son timestamps que indican cuando la derecha fue dada (a excepción de la actualización, que trataremos de más adelante). Por ejemplo, si Ana diera Peter leyó las derechas sobre los informes de la relación en el tiempo 10, y Peter los dio a Maria en el tiempo 20, la tabla estaría como sigue.

Usuario Tabla Donante Leído

Peter

Informes

Ana

10

Maria

Informes

Peter

20


Si Ana revoca las derechas leídas de Peter, y Maria la obtuviera leyera las derechas de Peter después de que Ana las diera a Peter, ella leyó las derechas también sería revocada. Sin embargo, suponga que Michelle también había dado las derechas leídas Maria sobre informes. Entonces suprimir la fila pasada en la tabla deja una entrada para Marynamely, la que esta' de Michelle:

Usuario Tabla Donante Leído

Peter

Informes

Ana

10

Maria

Informes

Michelle

5


Maria puede tan los informes leídos inmóviles.

La derecha de la actualización tiene un valor de todos, de algunos, o de ningunos. Estos valores refieren al sistema de las filas que pueden ser cambiadas. Si el valor es algo, un Syscolauth llamado segunda relación registra las columnas que el tema puede poner al día. Esta tabla también registra épocas, y la revocación procede en cuanto a las otras columnas.

Ejemplo: Listas Del Control De Acceso De Windows NT

Windows NT proporciona las listas del control de acceso para esos archivos en particiones de NTFS. Windows NT permite que un usuario o un grupo lea, escriba, se ejecute, suprima, cambie los permisos de, o tome propiedad de un archivo o de un directorio. Las estas derechas se agrupan en los sistemas comúnmente asignados llamados las derechas genéricas. Las derechas genéricas para los archivos están como sigue.

  • ningún acceso, por el que el tema no pueda tener acceso al archivo

  • leído, por el que el tema pueda leer o ejecutar el archivo

  • cambie, por el que el tema pueda leer, ejecutar, escribir, o suprimir el archivo

  • control completo, por el que el tema tenga todas las derechas al archivo

Además, el acceso especial derecho genérico permite la asignación de cualesquiera de los seis permisos.

Los directorios de Windows NT también tienen su propia noción de las derechas genéricas.

  • ningún acceso, por el que el tema no pueda tener acceso al directorio

  • leído, por el que el tema pueda leer o ejecutar archivos dentro del directorio

  • enumere, por el que el tema pueda enumerar el contenido del directorio y pueda cambiar a un subdirectory dentro de ese directorio

  • agregue, por el que el tema pueda crear archivos o subdirectories en el directorio

  • agregue y lea, que combina las derechas genéricas agrega y leyó

  • cambie, por el que el tema pueda crear, leído, ejecutar, o escribir archivos dentro del directorio y puede suprimir subdirectories

  • control completo, por el que el tema tenga todas las derechas sobre los archivos y subdirectories en el directorio

Como antes, la derecha de acceso especial genérica permite la asignación de otras combinaciones de permisos.

Cuando los accesos de un usuario un archivo, Windows NT primero examinan el ACL del archivo. Si el usuario no está presente en el ACL, y no es un miembro de cualquier grupo enumerado en el ACL, se niega el acceso. Si no, si cualquier entrada del ACL niega el acceso de usuario, Windows NT niega el acceso (ésta es una negación explícita, que se calcula primero). Si el acceso no se niega explícitamente, y nombran al usuario en el ACL (como un usuario o miembro de un grupo), el usuario tiene la unión del sistema de las derechas de cada entrada del ACL en la cual nombren al usuario.

Como ejemplo, suponga que Paul, Quentin, y Regina son usuarios de un sistema de Windows NT. Paul y Quentin están en los estudiantes del grupo. Quentin y Regina están en el personal del grupo. El directorio e:\stuff tiene su Access Control List fijado a (el personal, agrega), (Quentin, cambio), (los estudiantes, ningún acceso). Bajo esta lista, la primera entrada permite a Regina crear subdirectories o archivos en e:\stuff. La tercera entrada rechaza a todos los miembros de los estudiantes del grupo de tener acceso al directorio. La segunda entrada permitiría que Quentin suprimiera subdirectories, excepto que Quentin está en el grupo de estudiantes, y en Windows NT que un explícito niega (según lo dado en la tercera entrada) elimina cualquier concesión del permiso. Por lo tanto, Quentin no puede tener acceso al directorio.

Ahora, deje Regina crear un plugh del subdirectory en e:\stuff. Ella entonces rechaza el acceso de Paul, pero desea permitir que Quentin tenga acceso del cambio. Ella hace el siguiente.

  • Cree e:\stuff \ el plugh; su ACL es (el personal, agrega), (Quentin, cambio), (los estudiantes, ningún acceso).

  • Suprima la entrada pasada en el ACL; de la segunda entrada, esto da el acceso del cambio de Quentin.

  • Agregue la entrada (Paul, ningún acceso) al ACL.

El paso pasado es superfluo, porque Windows NT niega el acceso por defecto, pero es más seguro agregarlo de todos modos, a fin de den los estudiantes del grupo las derechas. Si sucediera eso, Paul conseguiría las esas derechas a menos que (Paul, ningún acceso) la entrada estuviera presente.

esto es un artículo agregado por Fred Foster


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions