system("R CMD BATCH rskript.R")
2011-04-29T16:48:37 gmafxwie kann ich also die Nutzerrechte der vom CGI-Skript ausgegebenen Dateien ändern oder von vornherein anders setzen?
2011-04-29T17:32:23 GwenDragonsuexec beschränkt die Rechte doch auf das Webverzeichnis des suexec-Nutzers udn lässt die CGI mit dessen Rechten laufen.
2011-04-29T17:32:23 GwenDragonWenn der nachfolgende Prozess von R nicht darauf zugreifen darf, nutzt das doch nix.
1 2 3 4 5 6
# Befehle für R sind in @array @array = ( "Blah", "Blubb", "Blimp"); my $pipe; open ($pipe, "| R CMD BATCH -f -") or die "cant create Pipe $!"; print for @array; close($pipe) or die "cant create Pipe $!";
2011-04-29T16:48:37 gmafxauszuführen. Das geht aber nicht, da die Dateien,die das CGI-Skript schreibt, nur Benutzerrechte für den "www-data"-Benutzer gesetzt hat!
1 2
my $dateimodus = (stat("DATEI.NAME"))[2]; printf "Dateimodus ist: %o",$dateimodus;
1 2
my $dateihandle; sysopen($dateihandle,"/PFAD/PFAD1/DATEI.NAME", O_CREAT,0666); # ezeugt eine Datei mit rwrwrw also für alle les und schreibbar
open (TMP,">$tmpdir/data.tmp") or die "cannot write to $tmpdir/data.tmp!"
1
2
3
-rw-r--r-- 1 www-data www-data 31565 2011-04-29 21:08 data.tmp
-rw-r--r-- 1 www-data www-data 200 2011-04-29 21:08 gene.tmp
-rw-r--r-- 1 www-data www-data 38 2011-04-29 21:08 rsettings.tmp
sysopen (PLOTR,">$tmp_folder/gene.tmp",O_CREAT,0666) or die "cannot open gene.tmp?!";
use Fcntl;
system("chmod 777 dateiname")
Fri Apr 29 21:29:44 2011] [error] [client XXX.XXX.XXX.XXX] /usr/lib/R/bin/BATCH: 60: cannot create geneplot2.Rout: Permission denied, referer: http:/
R CMD BATCH R-skript.R $tmpdir/logfile
R CMD BATCH R-skript.R >/dev/null
R CMD BATCH R-skript.R > NUL
2011-04-29T19:22:58 gmafxDa tat sich garnichts (das ">" brauche ich doch?