Re: Permission to enable CGI Scripts to do an I/O on the file system

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> So, there's no way of creating a log file in the default directory or some special directory ?

Apache usually logs stderr of CGI scripts to its error log, you can use this. If you give any file or directory the permissions you observe on your /tmp file (something like writeable by group www-data), it might work for debugging, or not if SELinux or apparmor gets in the way.

Better solution for debugging Python scripts is cgitb: it will show everything but syntax errors in browser window, and syntax errors will still be visible in Apache logs. In production you can configure cgitb to create tracefiles in a predefined directory.

(Also, typical initial problem with CGI scripts is forgetting to write HTTP headers.)
--

With Best Regards,
Marat Khalili

On August 11, 2017 9:20:19 PM GMT+03:00, Kiorp Pilu <klprte@xxxxxxxxx> wrote:
Hello Marat, 

Thanks for the comment. 
Yes, I am in the linux environment on a cluster. Tested your idea. 

1. The script works, but no output file is written on the cluster i.e. earlier I can't see anything in the console of my browser, now I see that the script executes successfully read off from the console. 
[ <open file '/tmp/output.txt', mode 'a' at 0x7f1de42e4660> ]

2. So, there's no way of creating a log file in the default directory or some special directory ?

However, I have set it up in Xampp and it works great, just worked out of the box. 

On Fri, Aug 11, 2017 at 12:59 AM, Marat Khalili <mkh@xxxxxx> wrote:

You didn't specify system, so I assume it's a standard Linux installation. CGI scripts by default run with permissions of the web server, which are intentionally limited. However, you can create new files and directories in /tmp, possibly using tempfile module. If you want more than just a temporary file then you should consider using database since writing arbitrary files from CGI scripts would otherwise cause concurrency and security problems.

--

With Best Regards,
Marat Khalili

On 11/08/17 00:29, Kiorp Pilu wrote:
Hello, 

I have written a python script that will spit out a log file. This python script will be executed as a CGI script. 

I am able to run the python program, but not able to make it write to an output file. How can I enable Apache web server to do so ?

Thanks, 
Dann

Virus-free. www.avast.com



[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux