Cambiar permisos a todos los archivos de una carpeta

Imagen de i_reversible
0 puntos

Hola a todos,

Mi pregunta es la siguiente, ¿existe alguna forma de cambiar los permisos de todos los archivos de una carpeta?, se que se puede hacer seleccionándolos todos y configurando los permisos, pero... ¿sería posible que al meter un archivo en esta carpeta se configurasen los permisos como yo quiera?.

El problema me ha surgido al tener compartida la carpeta incoming del amule, que al añadirse archivos constantemente, los otros ordenadores de mi red pueden ver su contenido pero no pueden copiarlos a sus ordenadores (en algunos casos), teniendo que darle permisos continuamente de forma manual.
Habia pensado en utilizar la herramienta que incorpora el amule de ejecutar comando al completar un archivo, y así ejecutar el chmod para configurar los permisos, pero no me atrevo porque no se muy bien como funcionaría, y supongo que existe alguna manera más sencilla que además pueda servirme para otras carpetas u otros archivos que no sean necesariamente de descargas.

no sabía muy bien donde postear esto, así que disculpas si no es el lugar apropiado.

Un Saludo a todos y gracias de antemano.

Imagen de Anónimo
+1
0
-1

Supongamos que quieres cambiar los permisos de una carpeta completa, esto puede hacerse muy sencillo con un chmod, te lo explico un poco
El CHMOD funciona con un parametro de permisos, que esta divido en 3 partes, suelen ser numeros que identifican al root, grupo y otros. Despues de este parametro se coloca el nombre del archivo que se quiere cambiar, en este caso toda una carpeta.

root grupo otros
r w x r w x r w x
4 2 1 4 2 1 4 2 1

Un ejemplo sencillo es querer cambiar al root para que pueda leer, escribir y ejecutar; El grupo que pueda leer; Otros que puedan leer tambien, entonces podriamos ejecutar el comando sobre un archivo llamado TEXTO, y quedaria de esta forma

$ chmod 744 TEXTO

Si quisieramos cambiar todo el permiso sobre la carpeta, podemos hacerlo estando en el directorio de la carpeta y haciendo lo siguiente:

$ chmod 744 *

y cambiaria todo el contenido de la carpeta.

El comando chmod es basicamente como funciona, tambien tiene otras formas de invocarlo, pero es muy sencillo, y debemos identificar que permisos debemos darle a estos 3 grupos de usuarios.

Un ultimo ejemplo es si queremos que el root vea todo y el "grupo" tanto "otros" no puedan hacer nada con ese archivo, ni verlo, ejecutarlo o escribirlo, pues es muy sencillo

$ chmod 700 *

+1
0
-1
Imagen de i_reversible
+1
0
-1

Gracias por la respuesta, aún así, esto no soluciona mi problema. Me explico mejor:

Mi problema es que en la carpeta amule los archivos que se descargan, vienen con unos permisos determinados (distintos segun el archivo) y esta carpeta esta compartida en la red, por lo que en algunos casos los otros equipos no pueden ver ni copiar algún archivo.

Hasta ahora lo he solucionado con el comando chmod. Pero teniendo en cuenta que en esta carpeta se añaden una media de 20 descargas por día cada una en su subcarpeta correspòndiente, me resulta un poco tedioso tener que dar permisos manualmente. Mi pregunta es ¿cómo puedo automatizar esto? ¿cómo puedo hacer que el archivo que se copie en una carpeta adquiera de forma automática los permisos de ésta?.

Bueno eso es todo, muchas gracias por la respuesta de nuevo.
Un saludo.

+1
0
-1
Imagen de tRaCk3r
+1
0
-1

como ejecutas amule?

si ejecutas amule con el usuario con el que entran los demás ordenadores a cojer los ficheros, los ficheros creados por éste tendrán los mismos permisos.

otra posibilidad que se me ocurre es hacer un cron que haga chmod de vez en cuando.

por cierto, si añades -R al chmod, además de a los ficheros de la carpeta, lo harás también a las subcarpetas (recursivo).

a ver si te vale ;)

--
tRaCk3r
http://blog.cg-unit.com
ubuntu user #007044
linux user #319025
PC number #309252
PGP Keys ID:
8CC82613 6619A473 7DDE5B0B 39056014
99E7CECD 0EB52595 DFBE2505 586EB573
Visita: http://www.clan-olla.org

+1
0
-1

 


tRaCk3r
http://tetosoft.com
ubuntu user #007044
linux user #319025
PC number #309252
Imagen de i_reversible
+1
0
-1

hola a todos,

Gracias por tu consejo tRaCk3r, me parece muy interesante eso de hacer un cron, ¿qué pasos sigo?.

Una duda, si ejecuto el amule con el usuario con el que entran los demás a mi equipo, ¿tendría que darle permisos de escritura para que pudiese crear los archivos en la carpeta de descarga verdad?, y lo malo de eso es que les daría permisos para borrar los archivos (no me fío tanto de mis compañeros de piso).
De todas formas no se si funcionaría porque ahora que está ejecutado con el usuario principal, me crea cada archivo con permisos diferentes.

Por eso me decido por lo de hacer el cron (aunque nunca lo había escuchado), buscaré por la red como hacerlo, pero si pudieses darme algunas pautas te lo agradecería mucho.
Si encuentro cómo hacerlo, lo posteo por si a otro le sirve

Bueno... muchas gracias.
Un saludo.

+1
0
-1
Imagen de topito_u
+1
0
-1

busca crontab, en el que desde una terminal le pasas unos parámetros para decirle cada cuánto deseas que te haga tal cosa y le das una rura. En gnome>administrador de tareas te lo hace gráficamente y en kde creo que kcron también lo hace. Es bastante fácil, yo de memoria no me acuerdo
saludos
ubuntu 6.10

+1
0
-1

carlos
presencia

Imagen de i_reversible
+1
0
-1

Al final me he decidido por hacer un cron, os cuento

Desde terminal:

sudo crontab -e

Luego se abre un editor de textos de consola, y ahí añado:

0 1,3,5,7,9,11,13,15,19,21,23 * * * chmod -R 754 /carpeta de amule

El primer número son los minutos (lo he puesto a las en punto)
El segundo número son las horas
los tres * son el dia el mes y el año (creo) si pones * lo hace todos los días
Después se escribe el comando que se quiere ejecutar, en mi caso chmod -R 745 por supuesto sustituyendo "carpeta de amule" por la direccion de la carpeta
Se pulsa ctrl+o para guardar y ctrl+x para salir y... eso es todo, sencillísimo.

Así, lo tengo configurado para que cada dos horas (a la 1, las 3, las 5 ...) me redefina los permisos de todos los contenidos de la carpeta.
No es exactamente lo que yo quería... pero es una buena solucion, además he aprendido a usar otra herramienta que me será útil de aqui en adelante.
Por cierto, ¿el cron utiliza mucha potencia del ordenador?, la verdad es que apenas lo he notado por ahora, pero si se definiesen unos cuantos de procedimientos ¿esto afectaría mucho al rendimiento?.

Bueno... muchas gracias de nuevo, es un lujo tener respuestas tan eficaces y tan rápidas. Enhorabuena por la página.

+1
0
-1
Imagen de Thulsa Doom
+1
0
-1

Hola a todos, yo tengo un problema parecido, en mi caso al hacer una copia de mi pagina web desde root este me lo hace con permisos restringidos en alguans carpetas, al intentar pasar esa copia a otro disco duro de la red me da un error de permismos, entonces yo puedo cambiar los permisos de las carpetas con chmod pero tengo que hacerlo carpeta por parpeta y archivo por archivo y se me hace eterno y muy pesado, entonces yo pregunto, ¿si no hay alguna manera desde linea de comandos para que al elejir la copia de la web me cambie los permisos de todas las carpetas subcarpetas y archivos al mismo tiempo?, gracias

+1
0
-1
Imagen de Jerberth
+1
0
-1

hola a todos si me pueden ayudar se los agradeceria!! bueno quiero guardar algo en la carpeta /var/www y me dice q no tengo permiso, como hago para cambiar eso? ah y tengo ubuntu 9.04

+1
0
-1
Imagen de tRaCk3r
+1
0
-1

Puedes activar public_html en tu home (hay manuales) y poner ahí tus cosas o puedes hacer:


sudo chmod -R o+w /var/www

 


tRaCk3r
http://tetosoft.com
ubuntu user #007044
linux user #319025
PC number #309252
+1
0
-1

 


tRaCk3r
http://tetosoft.com
ubuntu user #007044
linux user #319025
PC number #309252
Imagen de Nabos
+1
0
-1

AL problema:

Quiero cambiar los permisos de una carpeta, ya que en ella he montado una imagen .iso para poder instalar un programa. He montado el programa de la siguiente forma:

usuario@maquina:~$ sudo mount -t iso9660 -o loop matu20Xa.iso /media/iso

Esta la imagen montada, cuando trato de iniciar la instación (con ./install) se abre una ventana de instalación, la cual me pide que coloque el directorio donde se encuentra el programa a instalar con la ruta completa (la cual es: /media/iso), lo coloco, pero cuando le doy "next", me sale el siguiente aviso:

folder "media/iso" is no writable.

Los permisos de la carperta "iso" son:

dr-xr-xr-x 7 root root 2048 2010-03-05 06:06 iso

He tratado de cambiar los permisos con:

chmod 777 iso
chmod u+rwx iso
sudo chmod 777 /media/iso
sudo -R chmod 777 /media/iso y las salidas son:

chmod: cambiando los permisos de «activate.ini»: Sistema de solo lectura
chmod: cambiando los permisos de «crack»: Sistema de solo lectura
chmod: cambiando los permisos de «install»: Sistema de solo lectura
chmod: cambiando los permisos de «InstallForMacOSX.app»: Sistema de solo lectura
chmod: cambiando los permisos de «inst_doc.pdf»: Sistema de solo lectura
chmod: cambiando los permisos de «license.txt»: Sistema de solo lectura
chmod: cambiando los permisos de «mac_install_guide.pdf»: Sistema de solo lectura
chmod: cambiando los permisos de «readme.txt»: Sistema de solo lectura
chmod: cambiando los permisos de «update»: Sistema de solo lectura
chmod: cambiando los permisos de «utils»: Sistema de solo lectura

Si alguien puede ayudarme estré muy agradecido.

Saludos,

NABOS

+1
0
-1
Imagen de ubunutero17
+1
0
-1

Saludos !!!

Retomando el tema de los permisos, supongamos que en una carpeta tengo 100 archivos de texto, y deseo cambiarle los permisos solo a aquellos archivos que tengan permisos de solo lectura o que empiecen con la letra b o con algun patron en especifico . Intente algo como los siguiente pero no dio resultado

chmod 766 | ls | grep img

chmod 777 | ls -l | grep r--r--r

donde img y r--r--r son los patrones para cambiar solo ciertos archivos dentro de la carpeta.

+1
0
-1
Imagen de similio
+1
0
-1

bueno espero alguien me ayude, estoy haciendo un sistema en php toda la carpeta del sistema la guarde en esta dirección var/www,
bueno por algunas razones le di permiso a esa carpeta y escribe así
chmod 777 -R /var

después aparecieron el el terminal un poco de escrito pero no le di importancia, al rato apega el computador y al prenderlo se queda en la pantalla donde me debería de pedir la contraseña para entrar al sistema, pero no aparece. solo aparece el cuadrito que dice el nombre de la Pc y mas nada. ahora no me permite entrar al sistema, espero me ayuden tengo q exponer ese sistema dentro de unos días. gracias

+1
0
-1
Imagen de vikotoro
+1
0
-1

Hola, Despues de Cambiar los permisos, note que los directorios a los que cambie no me deja acceder.

es decir como si ubiera perdido formato o demas, me refiero a que normalmente los directorios (tienen forma de carpetica) tienen eso un icono de carpeta, despues de aplicar el comando

sudo chmod 744 xxxxx

no me arrojo errores ni nada, pero cuando miro en el gestor de archivos, no tengo acceso para nada, el directorio dejo de tener la imagen de un folder y paso a tener otra imagen parecida a la de un bloc con numeros.

necesito una pequeña ayuda, llevo 24 horas con linux!!!

+1
0
-1

Vikotoro