This is more likely as a result of your httpd configuration. This occurs when I upload through ftp too. The source file will take on the permissions of the existing file.

cp -f in 'man cp' will remove existing files first if it cannot open them. In lieu of you having set the user or mode in the script, the system commands will operate under the user mode of the user of the script, most likely to be a user named nobody or something similar. A specific user that is essentially the httpd.

What your source file mode says is 'anyone can read me'. What 'nobody' does in your configuration, is to set the destination file permissions so only the system admin and itself have permissions on the file. This basically means that not anyone can read your httpd, only no-one can.*

*Differing transalations of The Odyssey also delight in the nobody/noman/no-one interpretation complex .

Coyote


In reply to Re: copying files from cgi perl script is modifying target file permissions by Don Coyote
in thread copying files from cgi perl script is modifying target file permissions by bhagperl

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.