Cambiar permisos a directorios y archivos

Linux Tutorial




En numerosas ocasiones es necesario establecer permisos específicos a todos los directorios que existen dentro de una ruta en la estructura de archivos, así como a todos los archivos almacenados en esos directorios.

Si pretendemos por ejemplo que los ficheros únicamente sean leídos por el grupo y otros y que el propietario tenga total control, configuración muy habitual en sitios webs o cuentas en servidores, un simple chmod 644 * -R no funciona como se desea.

Esto se debe a que para acceder a los ficheros, los directorios han de tener permiso de acceso y lectura (r-x) para el grupo y otros, y lectura, ecritura y acceso (rwx) para el propietario, en formato numérico sería: 755. Ya que de lo contrario, los miembros del grupo y el resto no podrían acceder a ficheros a los que tienen permiso de lectura.

Tampoco es posible poner un simple chmod 755 * -R porque daría permisos de ejecución a todos los archivos dentro de todos los directorios y como hemos mencionado únicamente buscamos permiso de lectura para el grupo y otros al acceder a los ficheros.

Para solucionar este problema os presento un script muy sencillo, que hace uso del comando find para poder hacer distinción entre ficheros y directorios y aplicar a cada grupo los permisos que requieren:

# cat camb_permisos.sh
for archivo in `find . -type f`;
do
chmod 0644 $archivo -v;
done
for directorio in `find . -type d`;
do
chmod 0755 $directorio -v;
done
#

No obstante, si queréis el script lo podéis descargar aquí: camb_permisos.sh.

Por último, sobra decir que si os interesan permisos diferentes para archivos o directorios bastará con modificar la codificación numérica 0644 (en el caso de ficheros) ó 0755 (en el caso de directorios).

Compártelo   Suscríbete!!

Seguro que también te interesa

0 Comentarios ↓

    Jaluro

  • No hay comentarios aún.
    ¡Aprovecha y sé el primero en dejar uno!

Deja tu comentario

Por favor, no uses un lenguaje inapropiado, spam o cualquier otro tipo de conducta inadecuada. De lo contrario me reservo el derecho de eliminar y/o modificar aquellos comentarios que contengan algo de lo citado anteriormente.

:) xD :)) =)) ;) :p :( :(( #-o 8-| :-l :o :-? :-< :-s :^) m|-) m:| :s :$ (y) (n) /:) <:o) :)>- :-ss [-o< @:d/ ^:)^ m:d m:@ m:p m;) (h) :'( :mrgreen: (ap) (au) (ci) (co) (6) (&) (@) ~:> (8) (~) (g) (^) ~o) (h5) (yn) (pi) (pl) (l) (f) (k) (u) (w) 8-x :[ o-+ o-> o=>