chmod wird falsch gesetzt bei php upload

IPx200

New Member
Hallo,

ich habe das blöde problem wenn ich über php datien hochlade z.B. in joomla avatare oder jegliche bilder werden die immer mit chmod 600 geschrieben.

ich hab google schon gefüttert mit chmod, umask und so aber nix gefunden...

OS: suse 10.2
php: 5


da ich keine ahnung habe diesbezüglich fragt mich über angaben die ihr braucht oder sagt mir stichpunkte nach was ich suchen muss... bin ungern jemand der nicht sucht, nur ohne den gedanken nach was ich suchen muss bin ich leider hilflos...


danke schon mal
 
also die einbindung kann ich dir nicht sagen, ist die fertige install version von Strato, ich schau mir aber gleich mal die module config von apache an


Code:
<?
function scan_dir($dirstr)
{
	$files = array();
	$fh = opendir($dirstr);
	while(false !== ($filename = readdir($fh)))
	{
		if($filename != "." AND $filename != ".." AND $filename != ".DS_Store")
		{
			array_push($files, $filename);
		}
	}
	closedir($fh); 
	return $files;
}

if($_GET['upl'] == "do")
{
	$asdf = time();
	
	mkdir("files/".$asdf."/")
	;
	if(move_uploaded_file($_FILES['file_n']['tmp_name'], "files/".$asdf."/".$_FILES['file_n']['name']))
	{
		$success = "Alles Supi, Datei erfolgreich gespeichert!";
	}
	else
	{
		$success = "So en mist, hat leider nich geklappt.";
	}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>upload</title>
</head>
<body>
<?=$success?>
<br /><br />
<form action="index.php?upl=do" method="post" enctype="multipart/form-data">
<table cellpadding="0" cellspacing="0">
	<tr>
		<td>Datei:</td>
		<td><input type="file" name="file_n" /></td>
	</tr>
	<tr height="30">
		<td>&nbsp;</td>
		<td><input type="submit" value="upload!" /></td>
	</tr>
</table>
</form>
</body>
</html>


wenn ich das so auf meinem localen WAMP, LAMP oder MAMP oder tripod dienst hochlade und ne datei hochlade klappt es... programmiert ist die seite auf dem mac und fast ausschliesslich getestet auf halt MAMP basis.

dort sind die configs alle standard.


@djrick: wenn ich die funktion nehme müsste ich bzw. unser Anwendungsentwickler wieder durch alle scripte gehen und das dazu setzten.

Der Grund muss aber irgend wie wo anderst liegen, weil fertige Baukasten seiten wie joomla auch nicht funktionieren mit dem hochladen.

glaub ich übersehe aber irgend wie nur irgend wo was...



Apache2 wird doch normal als root gestartet wenn ich mich nicht irre, und root hat ja quasi volle rechte.
da von Strato serverAdmin24 installiert wurde ist der Besitzer der Websiten immer www-run
 
also in der suphp steht:

<IfModule mod_suphp.c>
</IfModule>


die is aber bei mir
/etc/apache2/conf.d/suphp.conf
 
Hi,
Ich habe ein ähnliches Problem, aber FCGI und Suexec installiert.

Ich hatte derzeit noch kein Problem mit den Dateirechten, da ich in allen meinen Skripts chmod setze, ich weiß aber, dass ich ohne das ausführen von chmod die Dateien auch Rechte 600 haben.

Daher habe ich eine ähnliche Frage:
Wo muss ich den umask setzen, wenn ich suexec mit fcgi habe?

In der Konfiguration von FCGI kann ich es ja laut Dokumentation nicht setzen
In der Suxec Dokumentation habe ich aber auch nichts darüber gefunden.
Wo setze ich es denn?

Mit freundlichen Grüßen
Flobbie
 
hehe deine version klappt natürlich...

aber das is ja nicht die lösung z.B, joomla komplett auseinander zu nehmen und das alles manuel einzutippen oder?

das is das was ich nicht verstehe...
 
Also ich nutze auch FCGI und Joomla und ich hab keine Probleme damit.
Bei mir haben die Dateien dann die Berechtigung: 644
 
also bei der auto prepend datei steht bei mir nichts dahinter, so wie ich das lese will der wenn dann "none oder auto" da stehen haben... Dann läuft aber Apache nicht mehr, bzw. keine php seiten mehr.


Hab es momentan erstmal mit der chmod funktion gemacht, aber schon kommt das nächste selten blöde problem... post_max_size steht auf 256MB. Auch zu sehen bei phpinfo(). Alle Dateien ab 16,1 MB kommt en Time Out :(
 
also bei der auto prepend datei steht bei mir nichts dahinter, so wie ich das lese will der wenn dann "none oder auto" da stehen haben...
Dann komm wieder wenn du lesen gelernt hast. So lange nicht klar ist ob du die Domumentation(da wird auf diverse potenzielle Wechselwirkungen hingewiesen) zu post_max_size gelesen und verstanden hast beantworte ich keine weiteren Fragen :p
 
Back
Top