Sistema de permisos en Mac OS X

El Mac OS X es un sistema operativo conforme al estandar UNIX®03, y por lo tanto lleva implicito un mecanismo a nivel de archivos y procesos denominado “modelo de permisos POSIX”.

Este modelo de permisos es a la vez fundamental y extremadamente rudimentario, en el que definimos para cada “objeto” del sistema de archivos 3 tipos de permisos, que son, “Lectura”, “Escritura” y “Ejecución”, y ello en relación a el “Usuario Propietario”, el “Grupo Propietario” y todos los demas usuarios del sistema definido por “Otros”.

Sin embargo, existe desde la versión de Mac OS X 10.4 un sistema de permisos mucho mas avanzado y sofisticado, llamado “Lista de Control de Acceso” o ACL.

Con las ACL añadimos una nueva forma de gestión de permisos sobre el modelo POSIX, de hecho podemos activar y desactivar a voluntad las ACL en nuestro sistema de ficheros con el comando:

fsaclctl -p / -e

-p / : especifica que activaremos desde el Path “Raiz” es decir nuestro volumen de arranque.

-e : Activar las ACLs

-d : Desactivar las ACLs

Para leer los valores de las ACLs desde la terminal usaremos el comando “ls -le” donde “e” es la opción que nos permite ver las entradas en nuestras ACLs llamadas ACE (Access Control Entry)

ls -le

Para modificar las ACLs utilizaremos el comando “chmod” con la opción “+a” o “-a” según queramos añadir o quitar una ACE y como argumento el nombre del fichero que queramos modificar.

chmod +a “usuario allow/deny read” nombre-fichero

Ejemplo:

chmod +a "john allow read,write" menu_cuentas.jpg
chmod +a "john deny read,write" menu_cuentas.jpg

El listado nos da el siguiente resultado:

-rw-rw-r--@ 1 john admin 72624 17 jun 17:28 menu_cuentas.jpg
0: user:john deny read,write 1: user:john allow read,write

Resultado: El usuario “john” no tiene permisos para escribir ni leer. En principio al ir añadiendo las ACE veremos que el propio sistema se ocupa de re-ordenarlas para que las mas restrictivas tenga precedencia sobre la menos restrictivas, y por lo tanto estén arriba en la lista y con el numero de entrada mas pequeño. Podemos alterar el orden de creación añadiendo al comando “chmod” la opcíon “#” en la que indicaremos el número en el orden.

chmod +a# num_orden “usuario allow/read read” nombre-fichero

Ejemplo:

chmod +a# 0 "john allow read,write" menu_cuentas.jpg
chmod +a# 1 "john deny read,write" menu_cuentas.jpg

El resultado es:

-rw-rw-r--@ 1 john admin 72624 17 jun 17:28 menu_cuentas.jpg
0: user:john allow read,write 1: user:john deny read,write



Comments are Closed