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: rwxPor 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.
Casi todos los sistemas de archivos actuales soportan ese tipo de acl, implementadas de una u otra manera y con uno u otro nombre. De todas formas este tipo de acls complican innecesariamente la administración, y en la mayor parte de las ocasiones no es necesario ya que con una buena planificación de grupos, chown, chgrp, el sticky bit y los permisos de los directorios se pueden hacer muchas virguerías.
Hasta he llegado a leer por ahí que puede que microsoft, donde son tan comunes estas acls enrevesadas, está planteándose volver al sistema unix-like clásico de user-group-others.
Eso sí, como receta no está nada mal. Me la apunto.
PD: para qué necesitan los jefazos que el archivo xml tenga permisos de ejecución? A mí me parece buscarle los 3 pies al gato...
Fundamental para compatibilizar samba y active directory. Sin ACLs menudo tengo dudas hasta que sea posible.....
hay alguna solución usando de LDAP?
vamos digo, como NDS?


