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