Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/10/2007, 06:38
Avatar de -Defero-
-Defero-
Colaborador
 
Fecha de Ingreso: julio-2004
Ubicación: Guipúzcoa
Mensajes: 4.776
Antigüedad: 19 años, 10 meses
Puntos: 76
Re: Asignar a grupo los mismos permisos que el propietario

Creo que no se refiere a eso. A mí me ha costado entenderle, pero creo que se refiere a esto: coger un archivo, mirar qué permisos tiene el propietario, y asignarle esos mismos al grupo. Supongamos que quiero hacerlo con el archivo tomtom.png (que es el "splash" que tengo en mi GPS). A mano lo hacemos así:

1) Averiguar los permisos del archivo

dandebian@dan:[~]$ ls -l tomtom.png
-rw-r--r-- 1 dandebian dandebian 2355 2007-09-30 15:00 tomtom.png

2) Traducirlo a "números", para el CHMOD. La R suma 4, la W suma 2, la X suma 1 y el guión suma 0.

(0 +) R + W + 0 = 6 (el propietario)
R + 0 + 0 = 4 (los miembros del grupo)
R + 0 + 0 = 4 (cualquier otro)

Así que los permisos del archivo son 644

3) Averiguar qué número nos permite dar los mismos permisos a los miembros del grupo que al propietario. Basta con sustituir la cifra del medio por la misma que la primera. Así, en vez de 644 tendremos que poner 664.

4) Aplicar los nuevos permisos mediante CHMOD.

dandebian@dan:[~]$ ls -l tomtom.png
-rw-r--r-- 1 dandebian dandebian 2355 2007-09-30 15:00 tomtom.png
dandebian@dan:[~]$ chmod 664 tomtom.png
dandebian@dan:[~]$ ls -l tomtom.png
-rw-rw-r-- 1 dandebian dandebian 2355 2007-09-30 15:00 tomtom.png

Y así el propietario y los miembros del grupo tendrán los mismos privilegios.

Bien, ahora que sabemos hacerlo a mano, lo difícil será hacerlo de manera automática. Sería cuestión de montarse un script que haga eso mismo.

1) Sacar los permisos. Eso se consigue de la siguiente manera:

ls -l tomtom.png | grep -o "[-drwx][-drwx][-drwx][-drwx][-drwx][-drwx][-drwx][-drwx][-drwx][-drwx]"


2) Traducirlo a "números".

ls -l tomtom.png | grep -o "[-drwx][-drwx][-drwx][-drwx][-drwx][-drwx][-drwx][-drwx][-drwx][-drwx]" | sed -e 's/r/4/g' -e 's/w/2/g' -e 's/x/1/g' -e 's/-/0/g' -e 's/d/0/g'

Esto nos da el siguiente resultado:

0420400400

3) Agrupar los números:

0+4+2+0 = 6 --> primera cifra para el CHMOD
4+0+0 = 4 --> segunda cifra para el CHMOD
4+0+0 = 4 --> tercera cifra para el CHMOD

Ahora sabemos que el CHMOD del archivo es 644.

4) Copiar la primera cifra sobre la segunda, de manera que 644 se convierta en 664. Creo que con AWK podrías hacerlo sin demasiada complicación.

5) Aplicar el número resultante (664) mediante CHMOD

dandebian@dan:[~]$ ls -l tomtom.png
-rw-r--r-- 1 dandebian dandebian 2355 2007-09-30 15:00 tomtom.png
dandebian@dan:[~]$ chmod 664 tomtom.png
dandebian@dan:[~]$ ls -l tomtom.png
-rw-rw-r-- 1 dandebian dandebian 2355 2007-09-30 15:00 tomtom.png



A ver si con esta información te basta para montar un bash-script. Y cuando lo tengas compártelo con nosotros.
__________________
abogado en Errenteria + procuradora en San Sebastián = equipo imparable