Cómo administrar permisos de archivos y directorios en Mac OS X

En la mayoría de los sistemas UNIX, se utilizan los permisos estándar POSIX (Portable Operating System Interface) para gestionar el acceso a los archivos. Los permisos POSIX estándar son independientes del sistema de archivos en el que se utilicen (siempre que el sistema los admita) y cualquier persona familiarizada con Linux o UNIX los conocerá, ya que son la forma estándar de establecer un control básico de acceso a archivos y directorios.

Índice de Contenido
  1. ¿Qué son los permisos POSIX?
  2. ¿Qué son los ACLs y cómo se utilizan en Mac OS X?
  3. Beneficios del uso de ACLs en Mac OS X
  4. ¿Cómo agregar y gestionar ACLs en Mac OS X?
  5. Uso avanzado de ACLs en Mac OS X
  6. Compatibilidad con ACLs en Mac OS X

¿Qué son los permisos POSIX?

Básicamente, se puede definir al propietario de un archivo o directorio, el grupo que lo posee y "otros" (todos los que no son el usuario propietario ni miembros del grupo propietario). Además, se puede definir si cada uno de ellos tiene permisos de lectura, escritura o ejecución sobre el archivo o directorio. En el caso de los archivos, estos permisos significan que el usuario puede leer el archivo, escribir en él, modificarlo o eliminarlo, o ejecutarlo como un programa. En el caso de los directorios, estos permisos significan que el usuario puede leer el contenido de un directorio (pero no necesariamente el contenido de los archivos del directorio), puede escribir en el directorio (crear y eliminar archivos) o ejecutarlo (permite al usuario navegar por ese árbol de directorios para acceder a archivos o subdirectorios, aunque por sí solo no permite ver el contenido del directorio).

¿Qué son los ACLs y cómo se utilizan en Mac OS X?

La mayoría de los sistemas operativos también admiten algún tipo de Listas de Control de Acceso (Access Control Lists o ACLs, por su sigla en inglés). Esto a menudo también depende del sistema de archivos que se esté utilizando o de la implementación que se pueda utilizar en dicho sistema de archivos (los dos tipos principales de ACLs son las ACLs POSIX.1e y las ACLs NFSv4). Mac OS X no es una excepción y, a partir de la versión 10.4, admite ACLs NFSv4 cuando se utilizan con el sistema de archivos HFS+. El uso de estas ACLs en Mac OS X es bastante sencillo; es posible que incluso las esté utilizando sin saberlo.

Las ACLs están compuestas por Entradas de Control de Acceso (Access Control Entries o ACEs, por su sigla en inglés) y cada ACL puede contener más de una ACE. Las ACLs ofrecen mucha más flexibilidad y control detallado sobre los permisos de archivos y directorios que los permisos POSIX estándar. Por ejemplo, algunas de las capacidades que ofrecen las ACLs para los archivos incluyen permisos de lectura, escritura, ejecución y anexar (el anexo solo permite agregar contenido a un archivo existente, no modificar el contenido existente ni eliminarlo). Algunas capacidades para los directorios incluyen mostrar entradas, buscar entradas, agregar un archivo, agregar un subdirectorio o eliminar contenido. Otra característica interesante de las ACLs es la llamada "herencia" (inheritance), que permite definir que el contenido de archivos de un directorio puede heredar un conjunto de ACLs, mientras que los directorios heredan otro conjunto de ACLs.

Beneficios del uso de ACLs en Mac OS X

Como se puede ver, las ACLs son muy poderosas. Por ejemplo, si tiene un directorio que contiene manuales de desarrolladores, puede hacer que el directorio sea escribible para los desarrolladores y de solo lectura para los vendedores. También puede dar acceso a algunos de los archivos a los becarios sin hacerlos parte del grupo de desarrolladores ni de ventas, ya que esos dos grupos tienen acceso a demasiados otros archivos. En este escenario, podría hacer que el directorio sea propiedad de un usuario específico o del usuario root (administrador) y que sea de propiedad del grupo "desarrolladores", con archivos y directorios de escritura tanto para el propietario como para el grupo. Luego, usaría las ACLs para aplicar permisos de solo lectura a ciertos archivos para el grupo "ventas" y también podría usar las ACLs para aplicar acceso de solo lectura a los usuarios explícitos que son becarios (en lugar de crear un nuevo grupo para los becarios). Con los permisos POSIX estándar, esto no sería fácilmente posible.

¿Cómo agregar y gestionar ACLs en Mac OS X?

Si ha utilizado el comando "Obtener información" (Get Info) del Finder en un archivo o directorio, es probable que haya notado el panel de "Compartir y permisos" en la parte inferior. Por defecto, muestra las entradas de permisos POSIX estándar:

WinSCP: Autenticación segura con clave pública

Estos permisos, en la línea de comandos, equivaldrían a una propiedad de "usuario:grupo" y un modo de 0750 (o 0640 si se tratara de un archivo). Esto se puede ver en la línea de comandos de la siguiente manera:

drwxr-xr-x 2 usuario grupo 68 Mar 11 22:30 Nuevo

Para agregar ACLs a este directorio, se pueden utilizar los comandos chown y chmod o el Finder. El uso de chown/chmod brinda mucha más flexibilidad, ya que el Finder limita mucho y hace ciertas suposiciones por ti. Por ejemplo, para dar acceso a este directorio a los miembros del grupo "admin" como solo lectura, haría clic en el botón + en el panel "Compartir y permisos", seleccionaría el usuario o grupo y luego establecería el privilegio correspondiente:

Ahora, los miembros del grupo "admin" tienen acceso de solo lectura a esta carpeta. No es muy difícil de configurar en el Finder, ¿verdad? También podemos observar las ACLs en la línea de comandos, utilizando el comando "ls -le":

% /bin/ls -le
total 288
drwxr-xr-x+ 2 usuario grupo 68 Mar 11 22:30 Nuevo
 0: grupo:admin permitir lista, búsqueda, leer atributos, leer atributos extendidos, leer seguridad

El Finder otorga más permisos de solo "lista" o "búsqueda"; también permite al grupo "admin" leer atributos extendidos y ACLs.

Para lograr lo mismo en la línea de comandos, se puede utilizar:

% mkdir Nuevo2
% /bin/chmod +a "admin permitir leer, leer atributos, leer atributos extendidos, leer seguridad" Nuevo2
% /bin/ls -le
total 288
drwxr-xr-x+ 2 usuario grupo 68 Mar 11 23:06 Nuevo2
 0: grupo:admin permitir lista, leer atributos, leer atributos extendidos, leer seguridad
% /bin/chmod +a "admin permitir búsqueda" Nuevo2
% /bin/ls -le
total 288
drwxr-xr-x+ 2 usuario grupo 68 Mar 11 23:06 Nuevo2
 0: grupo:admin permitir lista, búsqueda, leer atributos, leer atributos extendidos, leer seguridad

Como se puede ver, el comando chmod inicialmente omitió una ACL; es bastante fácil agregar una nueva entrada más tarde. Y si necesita eliminar una, también es fácil:

Cómo proteger tu negocio del robo de identidad
% /bin/chmod -a "admin permitir búsqueda" Nuevo2

Finalmente, el grupo "admin" ya no tiene permisos de búsqueda en este directorio. Cabe destacar que, en cada caso, estoy especificando una ruta explícita hacia los comandos ls y chmod. Esto se debe a que tengo Fink instalado y las herramientas GNU instaladas a través de Fink no entienden las ACLs de OS X, por lo que estos comandos no funcionarán con ellas (la variable PATH predeterminada en el sistema coloca /sw/bin antes de /bin/, por lo que cuando escribo "ls", se ejecuta "/sw/bin/ls" en lugar de "/bin/ls").

Uso avanzado de ACLs en Mac OS X

Mac OS X Server (y, presumiblemente, Lion también) cuenta con una interfaz gráfica de usuario más sofisticada para manipular las ACLs que el Finder, pero para la mayoría de las tareas básicas, el Finder es suficiente. Sin embargo, no maneja la herencia, lo cual es una lástima. Aunque permite aplicar los permisos establecidos en un directorio a los archivos y directorios dentro de él mediante el menú "Aplicar a los elementos incluidos..." en el menú desplegable de configuración, lo cual logra algo similar; sin embargo, si cambia los permisos del directorio, deberá volver a aplicarlos y también si agrega nuevas carpetas o archivos, etc.

La página del manual de chmod ("man chmod") brinda una explicación muy buena sobre las ACLs y cómo aplicarlas. Las ACEs en una ACL observan un orden, por lo que se puede utilizar chown para especificar dónde debe colocarse una ACE específica dentro de la ACL, y, por supuesto, se puede ser mucho más específico de lo que se podría ser con el Finder.

Compatibilidad con ACLs en Mac OS X

Las ACLs en Mac OS X funcionan de manera muy similar a las ACLs en otros sistemas POSIX, como Linux. Los permisos pueden diferir un poco, al igual que el mecanismo para implementarlos y gestionarlos, pero los beneficios son idénticos. Este soporte de ACLs en OS X también es compatible con ciertas versiones de Windows y Windows Server.

Cómo instalar PuTTY y convertir una clave privada en formato PPK

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Seguridad, allí encontraras muchos artículos similares a Cómo administrar permisos de archivos y directorios en Mac OS X , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.