Muchos grupos, muchos permisos

Ayer durante el curso -si, docente de nuevo- me plantearon una duda que hizo tambalear mis (repito, mis) cimientos de Software Libre (los cuales no están tan arraigados como debieran). Un usuario con -supongo- conocimientos en otros sistemas operativos propietarios se quedó dubitativo mientras intentaban comprender propietarios y permisos en *nix.

Despues de ver que un archivo tiene los permisos clasificados en su usuario propietario (u), grupo propietario (g) y otros (o) surgió la temida pregunta: ¿Y si tengo 3 ó 4 grupos y quiero dar distintos permisos a cada uno?. Pensadlo, porque chown, chmod y chgrp no solucionan esa papeleta (que yo sepa). Suponiendo cuatro grupos de usuarios: curritos, usuarios, jefes y jefazos y un archivo informe.xml queremos el siguiente esquema:
grupos			permisos
--------------------------------
curritos:		---
usuarios:		r--
jefes:			rw-
jefazos:		rwx
Por muchas combinaciones que pudiéramos pensar, entre grupos o algo así, siempre se puede aumentar el grado de complejidad agregando más grupos con distintos permisos. El caso es que la pregunta era buena, demasiado como para que quede sin responder. Como ¿buen? docente, la apunté para buscar soluciones y esto fue lo que encontré (thanks Wu):
# mkdir testfolder
# setfacl -m group:group1:rwx,group:group2:r-x,group:group3:---,other:---,mask:rwx testfolder/
¡Listas de acceso, claro!. Aunque se limita a sistemas de archivos capaces de usarlas (ext3, xfs...), esa podría ser una buena solución al problema planteado. En distribuciones deb like el comando setfacl se encuentra en el paquete acl (apt-get install acl)... el resto todavía está por probar.
freebsd sysadmin

About the author

Óscar
has doubledaddy super powers, father of Hugo and Nico, husband of Marta, *nix user, Djangonaut and open source passionate.