Linux: Permisos de Grupos

Hola a todos


Alguien podria decirme si es posible en Linux, que dos grupos concretos de linux, tengan permisos en una carpeta, y todos los demas no?.

Ejemplo:

Tengo los grupos "A.B y C" , y la carpera "Prueba" .

"drwxrwx--- root A Prueba"

Esta claro esto, ya que es lo de siempre, donde el usuario root tiene permisos y el Grupo A , tambien.

La question es que a la carpeta Prueba quiero que entren A y B con permisos totales y los de 'C' por ejemplo no.

Como el tercer grupo de permisos enm linux, son todos los demas.. no se como hacerlo. La idea seria que se quedara algo asi:

"drwxrwx--- A B Prueba" Donde tanto el Grupo A y B tengan permisos y todos los demas grupos no.

Si me explicado mal o no me entendeis lo intentare volver a explicar

Gracias de antemano
Solo se me ocurre un "super-grupo", llamemoslo D, que englobe todos los users de A y de B y no a los de C ...

¿es para un sistema "casero"? Lo digo porque mi solución tiene utilidad si añades un usuario cada 1000.... si creas y borras usuarios a cascoporro todos los días no te valdría de nada, a no ser que sobreescribieras el script de creación y modificación de usuarios para que cada vez que añadas un usuario a los grupos A o B, auto-mágicamente se añadieran a D ... pero son movidas creo
Antes de nada , gracias LK2 por responder.

Respondiendo a tu post, te dire que si, que lo normal, y lo que se deberia hacer es lo que dices, crear un 3 grupo que tenga como miembros al grupo A y B . Asi ambos grupos A y B tendrian los mismos derechos sobre la carpeta.

Pero la cuestion es , y aqui viene mi problema, que lo que necesito es definir que el Grupo A tenga todos los permisos y el Grupo B solo de lectura . Este es el problema, ya que el linux, que yo sepa, solo se puede definir los permisos para un grupo solo. Ya se que quedan los permisos para "OTROS", pero si pongo hay lectura, cualquiera podria entrar y ver el contenido cosa que no me interesa.

Esto en windows, es lo mas facil : Tienes una Carpeta y dejas permisos a todo un grupo y a otro solo lectura. y blablabla .

Pero en Linux... ando perdido. Y creo que ahora me explicado algo mejor.

Resumiendo: Grupo A tendra todo los permisos ,Grupo B solo lectura y 'Otros' ninguno.

A ver si damos con la sulucion .

Un Saludo
Pues eso que quieres hacer.... con mis conocimientos no sabría hacerlo tampoco, ya que solo puede controlarse un grupo, no dos...

Busca porque puede que haya alguna extensión para ampliar los permisos de Unix... ni idea
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
Muchas gracias por contestarte tu mismo :).
No conocia los ACL estos y creo que me seran muy utiles, los apunto en un postit:)
Felicidades por buscarte la vida tan bien y enseñarnos algo que, yo al menos, creo utilísimo. Al paso te pido permiso para casi copy&pastearte en mi FSUG, ¿puedo puedo puedo? ;)
Hola de nuevo

Claro LK2 que puedes, faltaria mas!! ^_^ , y cuando lo hagas pasamemun link, para ver tu FSUG .Aunque faltan algunas cosillas, para empezar y saber por donde van los tiros, creo que esta bien la explicacion. Pero ya sabes... si quieres mas .. poco a poco y profundizando.

Ademas creo que las ACL's son casi imprescindibles , en un entorno donde varios usarios acceden a un servidor. Todo hay que decir, que hay sistemas mejores que el EXT3 para soportarlas, pero... no me quejare que hacen su funcion perfectamente jeje!!

De todas formas si veis que te falla algo avisarme y reviso, y corrijo si es necesario. O alguna duda .

Venga un saludo y ya me diras/direis
El FSUG por donde ando es Crysol. "Semos" de Ciudad Real y la mayor parte del grupo (no somos asociación ni nada que se le parezca) tenemos relación con la universidad UCLM ... así que imaginate, una panda de frikis descerebrados.

Luego probaré tu recetilla antes de subirla a Crysol (o si quieres, ya que tienes experiencia, puedes hacerlo tu mismo, aunque no seas de Ciudad Real eres bienvenido).

¡De nuevo muchísimas gracias!
Pues nada, se agradece la invitacion y en cuanto tenga un momento libre me paso.

Cuando la pruebes me dices que tal, por si hay algo que aclarar o modificar.

Un Saludo y que te salga bien la receta .. jejeje!!
Knux escribió:Pues nada, se agradece la invitacion y en cuanto tenga un momento libre me paso.

Cuando la pruebes me dices que tal, por si hay algo que aclarar o modificar.

Un Saludo y que te salga bien la receta .. jejeje!!
UPS!!! Jajaja, es que en Crysol a estas cosas las llamamos recetas, en otros lados son how-to's, totoriales o cualqueir otra jerga :D
10 respuestas