Hola de nuevo
Esta vez escribo para dar la solucion. Ya hemos aprendido mas cosas LK2 ^_^ jejeje!!
Lo primero que hay que hacer es saber si nuestro kernel, soporta las ACL. Algo que sobradamente soporta Debian,y supongo que cualquier kernel 2.6.1*, pero que no me vino mal, saber como podia comprobarlo.
Para saberlo tenemos que hacer:
#cat /boot/config-2.6.18.4-486 | grep _ACL
y en el listado tiene que aparecer estas lineas como minimo.
CONFIG_FS_POSIX_ACL=y (POSIX Access Control Lists)
CONFIG_EXT3_FS_POSIX_ACL=y (Ext3 POSIX Access Control Lists)
CONFIG_EXT2_FS_POSIX_ACL=y (Ext2 POSIX Access Control Lists)
Una vez confirmado, necesitamos tener instalados los siguientes paquetes: attr,acl y fileutils. Todo tranquilamente operativo con apt-get , aunque no estoy seguro de ser
necesario el fileutils... pero bueno... yo por lo menos lo hice.
Y listo... ya esta, solo queda decirle a fstab, que sistema de ficheros sera usado por acl, añadiendo 'acl'. Algo tan simple como poner:
/dev/hda1 / ext3 acl,defaults,errors=remount-ro 0 1
Tras reinciar ya estara todo preparado parado poder usar las ACL en cualquier fichero/carpeta de nuestro sistema. Para lo cual nos valdremos de un par de comandos, como son
el 'getfacl' para poder ver los ACL que tiene un fichero/directorio y el 'setfacl' , para asiganar los permisos. Y que mejor forma de explicar como funcionan, respondiendo yo
mismo a la pregunta que hiciera.
Tengo la carpeta 'prueba' y los usuarios del grupo 'A' podran leer y escribir, y los del grupo 'B' solo leer. Hariamos lo siguiente:
#setfalc -R -m g:A:rw /prueba
#setfalc -R -m g:B:r /prueba
Explico que son las cosas: -R , es para que todo se aplique recursivamente en cada fichero y subdirectorio que existiera
-m , que modifico los permisos actuales a esa carpeta
g: que lo que viene a continuacion es un grupo . Y si pusiera u: me refiero a un usuario
:r y :rw, que asigno respetivamente permisos de lectura y escritura segun mi intereses.
/prueba , la ruta completa de la carpeta que tendra los nuevos permisos.
Pero claro esto se deberia hacer cada vez que se añade algo a /prueba, y seria muy pesado, entonces lo que haremos es hacer que haya una serie de valores por defecto, algo tan
simple como añadir -d delante de -R , quedando como ejemplo:
#setfalc -d -R -m g:A:rw /prueba
Ahora al hacer un ls nos apareceria algo asi:
drwxr-xr-x+ 3 root root 4096 2007-04-05 20:50 prueba
Si os fijais aparece un '+' , que viene a indicarnos que ademas de los permisos convencionales , hay mas. Que haya mas, no quiere decir que machaque a los convecionales,
simplemente que hay mas. Y para verlos seria haria lo siguiente:
#getfalc prueba/
Apareciendo algo asi:
# file: prueba
# owner: root
# group: root
user::rwx
group::r-x
group:A:rw-
group:B:r-
mask::rwx
other::r-x
Y por ultimo para quitar una ALC se usaria la opcion -b :
#setfalc -b prueba/
Bueno... por lo menos esto a mi me resuelve todo lo que necesitaba, y hace las mismas funciones que los permisos de Windows, que todos conocemos. Por ultimo decir que esto
asociado a Samba que tambien soporta ACL , esta muy bien.
Para ampliar la informacion os remito una de las fuentes que mas me ha ayudado :
aqui
Un Saludo