Re: Curl chmod file transfer problem... [message #179372 is a reply to message #179369] |
Sat, 13 October 2012 20:27 |
J.O. Aho
Messages: 194 Registered: September 2010
Karma:
|
Senior Member |
|
|
On 13/10/12 08:42, sathyashrayan wrote:
> I have a joomla site with a enquiry form in chronoform. I have some text and also one file upload in
> the chrnoform. When a user asks for a quote, those data need to stored in a sugerCRM (sugarCRM leads
> module, web to leads form, campaign). Joomla site is in server A and sugarCRM is in server B.
> The uploaded file will be stored in the notes table (mysql) of sugarCRM. All worked if i manually
> change the file to chmode 777. But i want it happen when some one upload the file in the chronoform.
> I tried chmod through a php code but it does not work because the program that creates the file will
> have "apache" as a user not as "root" user. Any workaround? I just need to know if changing the
> file permission from 0644 to 0777 through program. Any help? If anyone wants i could pastebin
> the code and post it here.
Seems you have a bit lack knowledge of file permissions, the 0644 will
be more than enough for any user to read the file (4 is the read bit),
so there is no need to change a file to 777 (7 = 1 + 2 + 4), as when you
read a file you don't need to be able to execute it nor be able to write
to it.
Change owner will not make a difference, in this case, as all users are
allowed to read the file. Change a file so it's owned by root usually
means that the file will have one less user who can do what ever they
want with the file.
Have you checked that the user who is running the curl script (I'm
assuming you run it on server A and post it to the suragCRM on server B)
has the right to access the directory where the file is stored.
For example you have
/var/www/htdocs/upload
Then you may have
$ ls -ld /var/
drwxr-xr-x 14 root root 4096 Oct 31 2011 /var/
$ ls -ld /var/www
drwxr-xr-x 3 root root 8 Jul 10 2008 /var/www
$ ls -ld /var/www/htdocs/
drwxr-xr-x 3 apache apache 8 Jul 10 2008 /var/www/htdocs/
$ ls -ld /var/www/htdocs/upload/
drwxr-x--- 2 apache apache 4096 Jul 10 2011 /var/www/htdocs/upload/
In this case no one else than apache user, root and those part of the
apache group has the privilege to access the files in the upload
directory. No matter who owns the file or which file privileges bits has
been turned on.
If you are running your script as apache, then the most likely reason
why your curl fails it that the path is wrong. In this case I suggest
you use syslog() to log what you are doing in your script, specially
which paths you are trying to use.
--
//Aho
|
|
|