Jump to content
InvisionCommunity.de - Der Deutsche Invision Community Support
Sign in to follow this  
Khor

[suche] Problemlösung zu FTP-Rechten

Recommended Posts

das gehört wohl eher unter WebServer/PHP/MySQL aber da kann ich kein Topic öffnen daher:

Zu Erklärung: Das Forum erstellt zu meinem Leidwesen eigene Dateien, die es zum Betrieb benötigt.

Diese Dateien werden dem FTP-Besitzer WWW-DATA zugeordnet. (unter Linux wird ja jede Datei einem User zugeordnet).

Wenn ich nun Modifikationen am Forum vornehmen möchte, treten Probleme auf, dass ich in Verzeichnissen, die das Forum angelegt hat, nicht schreiben kann; Dateien ich nicht verändern kann oder dass das Ändern der Zugriffsrechte, damit etwas geändert werden kann, nicht funktioniert.

Dies erschwert mir die Arbeit erheblich und drückt die eigene Motivition etwas zu tun.

Ich weis, dass der Support den Besitzer jeder Zeit ändern könnte. Allerdings ist es mir zu Umständlich immerwieder den Support anzufragen, der sicherlich besseres zu tun hat.

Oder gibt es bereits Lösungen für mein Problem ? wie macht ihr das ?

oder treten diese Probleme bei euch nicht auf ?

mfG Khor

Share this post


Link to post

TO_Webmaster hat mal ein kleines Tool dazu geschrieben und ich hoffe, das ist von seiner Seite okay, wenn ich das hier poste. :)

<?php
$dateiname = "chmod.php";

print "<b>Bitte beachten Sie: Der CHMOD des Ordners, in dem sich diese Datei befindet muss 777 sein. Bitte bei Bedarf/Fehlermeldung entsprechend anpassen.</b><br><br>";
print "Erstelle $dateiname.<br><br>";

$fp = fopen( $dateiname, "w" ) or die ("Fehler");
fwrite( $fp,
"<html><head></head><body>

<FORM ENCTYPE=\"multipart/form-data\" ACTION=\"<? phpself ?>\" METHOD=POST>
Welcher Ordner (/ Welche Datei [Sitzt in Klammern, weil man normalerweise Dateien in Ordnern mit 777er rechten ohne Probleme löschen kann]) lässt sich nicht bearbeiten?<br><INPUT NAME=\"datei\" TYPE=\"text\">
<INPUT TYPE=\"submit\" VALUE=\"CHMOD 777 setzen.\">
</FORM>
</body>
</html>


<?PHP
if(\$datei != \"\"):
clearstatcache();
\$chmod = decoct(fileperms(\$datei));
echo \"CHMOD vorher: \" . \$chmod;
chmod (\$datei, 0777);
clearstatcache();
echo \"<br>\";
\$chmod = decoct(fileperms(\$datei));
echo \"CHMOD nachher: \" . \$chmod;
endif;
print \"<br><br>Script by TO_Webmaster\";
?>" );
fclose( $fp );

print "Sollte es keine Fehlermeldungen gegeben haben, können sie die <a href=\"$dateiname\">$dateiname hier direkt aufrufen</a>.<br><br>";
print "Script by TO_Webmaster<br><br>";

?>

Man lade die Datei in den Ordner, in den sich die zu löschenden Ordner befinden hoch und gebe jenem Ordner dich 777er Rechte.

Man führe die Datei aus, sie erstellt nun (hoffentlich) eine chmod.php (Name lässt sich bei $dateiname = "chmod.php"; auch ändern). Man starte diese chmod.php und gebe den Namen des Ordners an, auf den man nicht vollen Zugriff hat. Das sollte das Problem lösen.

Habe bis jetzt noch nichts negatives gehört, bei zwei Leuten hats geklappt, ob's weitere versucht haben, weiß ich nicht.

P.S.: Funzt theoretisch auch mit Dateien, was jedoch nicht benötigt wird, da man in Ordnern mit 777er Rechten alle Dateien löschen können sollte.

Share this post


Link to post

hab da auch n script

einziger unterschied - das ding kann man mit pfad und datei oder ganzen dir füttern.

als bspl. bringts den pfad, wos selber liegt.

man mache aus dem "code" eine deleter.php datei, oder wie mans auch immer nennen will.

aber vorsicht - wer das ding namentlich kennt, kann lustig löschen ...

<?php

if (isset($_POST['submit'])):

$flag=false;

function delete($dir){

if (file_exists($dir)) {

chmod($dir,0777);

if (is_dir($dir)){

$handle = opendir($dir); 

      while($filename = readdir($handle)) {

        if ($filename != "." && $filename != "..") {

          delete($dir."/".$filename);

        }

      }

      closedir($handle);


rmdir($dir);

echo ("Verzeichnis ${_SERVER['DOCUMENT_ROOT']}/${dir} löschen!<br><br>");

}else{

unlink($dir);

echo ("File ${_SERVER['DOCUMENT_ROOT']}/${dir} löschen!<br><br>");

}

}else{

echo("File oder Verzeichnis existiert nicht!<br><a href='$_SERVER[PHP_SELF]'>ZURÜCK</a><br>");

$flag=true;

}

}

echo("<html><head><title>Deleter v1.1</title></head><body>");

if ($_POST['name']){

delete($_POST['name']);

}else{

echo("Sie haben keinen Pfad- oder File-Namen angegeben!<br><a href='$_SERVER[PHP_SELF]'>ZURÜCK</a><br>");

$flag=true;

}

if ($_POST['selfdestruct']){

unlink($_SERVER['SCRIPT_FILENAME']);

echo("Dieses Script wurde zerstört. Kein weiteres Arbeiten möglich!<br><br>");

$flag=true;

}

if ($flag==false){

echo("<a href='$_SERVER[PHP_SELF]'>ZURÜCK, um ein weiters Verzeichnis/File zu löschen.</a>");

$flage=true;

}

echo("</body><html>");


?>

<html><body>

<?php

else:

if (version_compare( phpversion(), "4.1.0") < 0){

echo ("Zu alte PHP-Version.");

exit();

}

?>

  

<form method=post action="<?=$_SERVER['PHP_SELF']?>">

<table border="0" cellpadding="0" cellspacing="0" width="100%" height="100%">

  

<tr>

        <td>

	Voller Pfadname zu diesem Script: <?=$_SERVER['SCRIPT_FILENAME']?><br>

	<font size="-1">File oder Verzeichnis zum Löschen (Immer den vollen Pfad angeben):

	<input  name="name" type=text maxlength=40 size=25>

	<input type=submit name="submit" value="Delete"><br><br>

	Dieses Script (<?=$_SERVER['SCRIPT_NAME']?>) zerstört sich selbst, wenn sie dieses Box anklicken : 

	<input name="selfdestruct" type=checkbox value=no>

        </font></td>

</tr>


</table>

</form>

<?php 

endif;

?>

</body></html>

Edited by Ratman

Share this post


Link to post

danke jungs ... ich werd das mal demnaechst ausprobieren ... as mit dem löschen ist ja auch weniger schlimm ..

dann muss ich halt den scheiss runterladen .. loeschen .. wiederhochladen .. und fertig.

mfG Khor

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  

×