Además de otras mejoras del sistema de ficheros como las instantáneas (“snapshots”), FreeBSD 5.0 y siguientes ofrecen las ACL (“Access Control Lists”, listas de control de acceso) como un elemento más de seguridad.
Las listas de control de acceso extienden el modelo de permisos estándar de UNIX® de una manera altamente compatible (POSIX®.1e). Esta opción permite al administrador usar con gran provecho un modelo de seguridad más sofisticado.
Para habilitar soporte de ACL en sistemas de ficheros UFS la siguiente opción:
options UFS_ACL
debe ser compilada en el kernel. Si esta opción
no ha sido compilada, se mostrará un mensaje de advertencia
si se intenta montar un sistema de ficheros que soporte
ACL. Esta opción viene incluida
en el kernel GENERIC
.
Las ACL dependen de los atributos extendidos
habilitados en el sistema de ficheros. Los atributos extendidos
están incluidos por defecto en la nueva generación
de sistemas de ficheros UNIX® UFS2.
Los atributos extendidos pueden usarse también en UFS1 pero requieren una carga de trabajo mucho más elevada que en UFS2. El rendimiento de los atributos extendidos es, también, notablemente mayor en UFS2. Por todo esto si quiere usar ACL le recomendamos encarecidamente que use UFS2.
LasACL se habilitadan mediante una bandera
administrativa durante el montaje, acls
, en el fichero
/etc/fstab
. La bandera de montaje puede
también activarse de forma permanente mediante
tunefs(8) para modificar una bandera de superbloque
ACLs en la cabecera del sistema de ficheros.
En general es preferible usar la bandera de superbloque por
varios motivos:
La bandera de montaje ACL no puede cambiarse
por un remontaje (mount(8) -u
), sino con un
completo umount(8) y un mount(8). Esto significa
que no se pueden habilitar las ACL en el sistema
de ficheros raíz después del arranque. También
significa que no se puede cambiar la disposición de un
de ficheros una vez que se ha comenzado a usar.
Activar la bandera de superbloque provocará que el sistema
de ficheros se monte siempre con las ACL
habilitadas incluso si no existe una entrada en
fstab
o si los dispositivos se reordenan.
Esto es así para prevenir un montaje accidental del
sistema de ficheros sin tener las ACL habilitadas,
que podría resultar en que se impongan de forma inadecuada las
ACL, y en consecuencia problema de
seguridad.
Podemos cambiar el comportamiento de las ACL para permitirle a la bandera ser habilitada sin un mount(8) completo, pero puede salirle el tiro por la culata si activa las ACL, luego las desactiva, y después las vuelve a activar sin configurar desde cero las atributos extendidos. En general, una vez que se han deshabilitado las ACL en un sistema de ficheros no deben dehabilitarse, ya que la protección de ficheros resultante puede no ser compatible las que esperan los usuarios del sistema, y al volver a activar las ACL volver a asignar las ACL a ficheros cuyos permisos hubieran sido cambiados, lo que puede desenbocar en un escenario impredecible.
Los sistemas de ficheros con ACL habilitadas
tienen un signo +
(más) al visualizar
sus configuraciones de permisos. Por ejemplo:
drwx------ 2 robert robert 512 Dec 27 11:54 private drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directorio1 drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directorio2 drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directorio3 drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html
Aquí vemos que los directorios
directorio1
,
directorio2
, y directorio3
están usando ACL.
El directorio public_html
no.
Las ACLs del sistema de ficheros pueden
comprobarse con getfacl(1). Por ejemplo,
para ver las configuraciones de ACL del
fichero test
, uno podría
usar lo siguiente:
%
getfacl test
#file:test #owner:1001 #group:1001 user::rw- group::r-- other::r--
Para cambiar las configuraciones de las ACL en este fichero use setfacl(1). Observe:
%
setfacl -k test
La bandera -k
eliminará todas
las ACLs definidas para un fichero o sistema
ficheros. El método preferible sería utilizar
-b
, ya que deja los campos básicos
imprescindibles para que las ACL sigan
funcionando.
%
setfacl -m u:trhodes:rwx,group:web:r--,o::--- test
La opción -m
se usa para modificar
las entradas por defecto de las ACL.
Debido a que no había entradas predefinidas puesto que
fueron eliminadas por la orden anterior, restauraremos las
opciones por defecto y asignará las opciones listadas.
Tenga en cuenta que si añade un nuevo usuario o grupo
aparecerá el error Invalid argument
en la salida estándar
stdout
.
Puede descargar éste y muchos otros documentos desde ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Si tiene dudas sobre FreeBSD consulte la
documentación antes de escribir a la lista
<questions@FreeBSD.org>.
Envíe sus preguntas sobre la documentación a
<doc@FreeBSD.org>.