![]() |
Mover ficheros en el servidor
Buenas,
Estoy desarrollando un pequeño programa para organizar los documentos en un servidor linux. Ya he conseguido crear todas las carpetas, asignar los permisos, .... con el componente idFTP de Indy. Ahora quería mover unos ficheros que están en el directorio raíz, a uno de los que acabo de crear y no veo como hacerlo. He probado con PUT, pero es para subir ficheros. RENAME me da error, SITE, de la misma manera que asigno los permisos a las carpetas con chmod he intentado con mv, y tampoco. Alguna sugerencia? Gracias |
¿Mover por FTP desde un equipo remoto?
Explícate mejor, porque no se entiende exactamente qué preguntas. |
Buenas,
Pues esto, que he creado unos directorios en el servidor, usando el componente idFTP de las Indy. En dicho servidor tengo unos ficheros y me gustaría moverlos a uno de estos directorios acabados de crear y no sé como hacerlo Gracias. |
Seguramente puedes usar Rename
|
Muchas, muchas gracias
|
Muchas, muchas gracias. Ha funcionado perfectamente.
Sigo en el hilo porqué me ha surgido un último problema. Quisiera cambiar los privilegios de los ficheros y/o carpetas que acabo de mover con Rename y me pasa lo siguiente: - estas carpetas y/o usuarios tienen un mismo propietario y un mismo grupo, ambos con todos los privilegios (rwx) - desde el programa de Delphi, el componente idFTP lo tengo configurado con un usuario que pertenece al grupo. No tengo permisos para cambiar los permisos (valga la redundancia) de estos ficheros y/o carpetas. ifFTP.Site('CHMOD 770 fichero'); Todos los archivos y/o carpetas los he movido a una carpeta que he creado desde el programa, por lo que he intentado cambiar los permisos recursivamente de esta carpeta, desde el programa y tampoco funciona. Gracias |
Eso debes configurarlo en el servidor FTP.
Ten en cuenta que es algo muy peligroso, alguien sube un ejecutable, le cambia los permisos y... ¡¡¡tiene permisos para hacer lo que le da la gana en el servidor!!! |
Gracias Casemiro. Tu que harías. Necesito dejar a los otros sin ningún privilegio.
Hay alguna posibilidad de ejecutar el comando sudo chmod ... desde Delphi? |
Cita:
Cita:
Seguramente podrás ejecutar chmod, pero para quitar permisos, no para dar más. |
Gracias Casimiro,
Cuando creo una carpeta con idFTP.makedir, puedo asignar los permisos que quiero. Cuando quiero cambiar los permisos de un fichero cuyo propietario es diferente del grupo, es cuando me da error. Y sí, quiero usar el chmod para quitar permisos |
Cita:
|
Sí, desde el servidor de linux, ejecuto el mismo chmod y no tengo problema.
En un post antiguo he visto que sugerias idftp.sendcmd('chmod .... Pero no me ha funcionado. Gracias |
Cita:
Pero remotamente conectado al usuario del FTP, tienes los permisos que tenga ese usuario. Cita:
|
No Casimiro, en el servidor ejecuto chmod no sudo chmod
|
Cita:
|
Quería decir que desde la cónsola del servidor, ejecuto el comando chmod sin sudo delante.
La otra cosa que he pensado ha sido crear un usuario con privilegios root. Pero no debe ser posible, pues he configurado el componente idFTP con este usuario y contraseña y salta el error de Login incorrect. Gracias |
Cita:
|
Hola Casimiro, me has asustado y ya he eliminado el usuario.
Así pues no tengo manera de cambiar permisos de ficheros y/o carpetas remotamente? |
Voy a hacer otra prueba: he creado un script que hace el cambio de privilegios y funciona, desde la cónsola. Ahora intentaré si sé ejecutar este script desde Delphi, con idftp.sendcmd
|
Como he comentado antes varias veces, el propio programa servidor ftp tiene una opción para decirle qué permisos quieres que tengan los archivos que subas.
|
La franja horaria es GMT +2. Ahora son las 22:42:24. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi