----- Original Message -----
From: "Wade Smart"
20080821 1902 GMT-6
Discovered today that a script that the school "THOUGHT" had been working
for
the past two years - inst!
Their upload script uploads the picture into the images/ dir and then
creates a
thumnail of it and puts it in the thumb/ dir. That all works.
Their delete script first deletes the photos and then the student data from
the
db. Ah... the photos have not been deleted.
Looking at the permisions I see that images/ and thumb/ are both 1600775
www-data owner. The picture in images/ is 600600 but the one in thumbs/ is
600644. That is a problem.
All the thumbs have been deleted but the pictures themselves are not. Now,
Ill
write some code to change the rw permissions of the pic but what Im after
is,
why is it that the main pic is rw to the owner and non to the group but on
the
thumb its rw for the owner and read-only for the owner. Why can that one be
deleted?
Wade
------------------------------------
Hello Wade,
I see no one answered this question for you.
The question itself is a little confusing where you say "but on the thumb
its rw for the owner and read-only for the owner".
I will offer some explanation that is common but may not be your case.
PHP run's in someone's authority. The authority may be user
(www,anybody,nobody, apache) or the authority of the visitors. This is often
the case when php runs as an apache application. In the case all files
created by PHP will have the default owner "user" (anybody).
PHP can also run with the authority of the account owner. This is often the
case when php runs as a CGI. Files created with this authority have the
owner who is the owner of the account "owner".
The difference between the pictures and the thumbnails is that thumbnails
are created by php and the pictures are not. The pictures are uploaded with
the authority of "user" so the owner is "user".
The thumbnails are created by the script so the owner is the authority that
the script runs under.
Clear as mud?
Later versions of php are more frequently run as a CGI. Earlier versions
where rarely run as a CGI. It is also rear to have php running as an apache
application to have any authority other than "user" or "group".
It may be the case that the script was running perfectly until a php
upgrade. Look at the dates of the pictures and that may help pinpoint a
time.
Thanks, Rob.
PS: Look up POSIX at php.net