Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Permissions on a file

0 views
Skip to first unread message

kron...@yahoo.co.uk

unread,
May 15, 2008, 8:38:52 PM5/15/08
to
I create a text file on the server remote.txt ok with the following
code (the last part of it)


$first_name = $FORM{command1};
$last_name = $FORM{command2};

open (example, ">remote.txt") || die ("Could not open file. $!");

print example "$first_name\n$last_name\n";

close (example);

print "Content-type:text/html\r\n\r\n";
This bit causes errors...... chmod
0777,'remote.txt'; ......................................
print "<html>";
print "<head>";
print "<title> Processed</title>";
print "</head>";
print "<body>";
print "<h2>Commands $first_name $last_name - Sent to text file</h2>";
print "</body>";
print "</html>";


The problem is that I need to be able to delete this file remotely
using FTP and the script generate a new version every now and then. I
need teh script to make the file deleteable. How do I do this?
I tried chmod 0777,'remote.txt' and it spews out errors.


K.

A. Sinan Unur

unread,
May 15, 2008, 8:57:30 PM5/15/08
to
kron...@yahoo.co.uk wrote in news:27a86a81-91bd-4d5c-87ff-
1b7db0...@v26g2000prm.googlegroups.com:

> I create a text file on the server remote.txt ok with the following
> code (the last part of it)

You should always, yes always,

use strict;
use warnings;

> $first_name = $FORM{command1};
> $last_name = $FORM{command2};
>
> open (example, ">remote.txt") || die ("Could not open file. $!");

We have been through this once before

my $filename = 'remote.txt';

open my $EXAMPLE, '>', $filename
or die "Cannot open '$filename': $!";

> print example "$first_name\n$last_name\n";

print $EXAMPLE "$first_name\n$last_name\n";

> close (example);

It is crucial to check for errors on close on a filehandle opened for
writing.

close $EXAMPLE or die "Error closing '$filename': $!";

> print "Content-type:text/html\r\n\r\n";
> This bit causes errors...... chmod
> 0777,'remote.txt'; ......................................

What errors does it cause?

chmod 0777, $filename
or die "Cannot chmod on '$filename': $!";

Have you read perldoc -f chmod and perldoc -f umask?

> print "<html>";
> print "<head>";
> print "<title> Processed</title>";
> print "</head>";
> print "<body>";
> print "<h2>Commands $first_name $last_name - Sent to text file</h2>";
> print "</body>";
> print "</html>";

Don't be silly!

print <<EO_HTML;
<html>
<head>
<title>Processed<title>
</head>
<body>


<h2>Commands $first_name $last_name - Sent to text file</h2>

</body>
</html>
EO_HTML

> The problem is that I need to be able to delete this file remotely
> using FTP and the script generate a new version every now and then. I
> need teh script to make the file deleteable. How do I do this?
> I tried chmod 0777,'remote.txt' and it spews out errors.

Did you try looking at the error messages?

Sinan


--
A. Sinan Unur <1u...@llenroc.ude.invalid>
(remove .invalid and reverse each component for email address)

comp.lang.perl.misc guidelines on the WWW:
http://www.rehabitation.com/clpmisc/

Bill H

unread,
May 16, 2008, 5:12:29 AM5/16/08
to

> The problem is that I need to be able to delete this file remotely
> using FTP and the script generate a new version every now and then. I
> need teh script to make the file deleteable. How do I do this?
> I tried chmod 0777,'remote.txt' and it spews out errors.
>
> K.

I believe your problem is not a perl issue but a permission issue. The
script is running under a webmaster or other account and the file
created is owned by that creator, yet your ftp access is under a
different account name. If you have shell access, do a ls -l on that
directory to see who is the owner / group, that is who you need to be
to delete it. If you have ftp access as the server admin (versus the
webmaster) you can delete the file then (at least this has been my
experience).

I run into this all the time when a client gives me ftp access to
their website and gives me a webmaster account and wants me to update
their stuff that they posted using a different account. Interesting
thing I have seen is that I can most of the time rename what they have
then post my changed files, but can't delete what they have (or
overwrite it).

Back on the perl issue, I did find away around this about 7 / 8 years
ago by using chown on the file after creating it to change who owned
the file from within a perl script.

Bill H

0 new messages