El 28 de marzo de 2011 14:26, Victor Hugo dos Santos <[email protected]>escribió:
> 2011/3/28 Andres Ovalle Gahona <[email protected]>: > > > > [...] > > > Segun esto, entiendo que si es del tipo /home/*/archivos/directorio1 > cumple > > con directorio 750 y archivo 640. Pero si es del > > tipo /home/*/archivos/publico/ el directorio es 770 y archivo 660. > > Me imagino que algo asi seria la solucion: > > find . -type d -iname "*directorio[0-9]*" |xargs -n1 chmod 750 > > find . -type f -iname "*directorio[0-9]*" |xargs -n1 chmod 640 > > find -type d ! -iname "*directorio[0-9]*" |xargs -n1 chmod 770 > > find . -type f ! -iname "*directorio[0-9]*" |xargs -n1 chmod 660 > > directorio1, directorio2, directorio_etc puede tener cualquier nombre > y pueden ser cualquier cuantidad.. no necesariamente estes ejemplos > que mencione !!! > > ademas, que con los comandos de arriba, aun continuaria teniendo > problemas con las subcarpetas (pdf/image) de "/home/*/publico" ya que > terminarian con permisos 750 (el correcto para estas serian 770). > > Entonces puede tener cualquier nombre, pero no "pdf ni image" ??? Si fuera asi, usando expresiones regulares y negando solo pdf e image te podria resultar. Esto ya lo veo mas que una sola linea, si no un pequeño scripts con if y else incluidos ;) > :-( > > > > Lo otro que se me ocurre pero es menos optimo, es sacar una lista de los > > archivos a modificar y luego realizar un bucle tipo: > > cat lista.txt |while read line: do chmod permiso; done > > sii..podria hacer chequear que los permisos uno por uno y revisar si > estan equivocados atnes de cambiarlos.. pero no creo que sea el > optimo. > > salu2 > > -- > -- > Victor Hugo dos Santos > Linux Counter #224399 > -- Andrés Esteban. Ovalle Gahona (kill-9) Ingeniero (E) Computación e Informática Administrador de Sistemas Acepta.com S.A. <www.acepta.com> Staff DebianChile.cl <www.debianchile.cl> Movil: 09-5795880 Usuario Linux #456290 (counter.li.org)

