Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » ein linux-rechte problem

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
18.01.2004, 12:41 Uhr
talis



ich lade ein php-script auf den server. das hat danach root rechte, weil ich als root auf dem server eingeloggt bin (ob das gut ist oder nicht weiß ich nicht, spielt im grunde für das problem keine rolle, aber irgend so ein linux freak hat gemeint, dass man sich nur über ssh einloggen können sollte und von daher können wir uns jetzt nir über root einloggen).

kurz zum php-script: es erstellt in in einem admin interface einen neuen ordner, wenn eine neue photo-kategorie angelegt wird. das funktioniert ja soweit. jedoch eine, über ein php-script erstellte datei, hat dann auf dem server wwwrun rechte bzw. gehört zu dieser gruppe (ich kenne mich da nicht so aus, daher weiß ich nicht, ob es eine gruppe oder ein benutzer ist) und kann daher vom script aus nicht mehr gelöscht werden, da dem anschein nach ein script, keine files löschen kann, die zu wwwrun gehören.

ich dachte mir jetzt, dass ich die rechte der gruppe/des users wwwrun ändern müsste, nur dann habe ich wo gelesen, dass dies nicht gut wäre, wieso auch immer, und wie das funktionieren würde weiß ich auch nicht.

falls jemand ungefähr mein problem verstanden haben sollte - hat jemand eine lösung für mein problem? ;-)

edit: aja, es hat nichts mit den rechten rwx zu tun, das passt alles!

Dieser Post wurde am 18.01.2004 um 12:42 Uhr von talis editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
18.01.2004, 14:41 Uhr
Pablo
Supertux
(Operator)


Wenn die Dateien root-Rechte haben macht ja nichts. Aber du musst die dritte Gruppe Lese-Rechte geben.

In meinem Server sehen die php-Skripten so aus: -rw-r--r-- (fettgedruckete ist das wichtigste)

Ich habe mein Apache so eingerichtet, dass der User vom Internet, der meine php-Scripts läuft, als nobody erkannt wird. Und nobody gehört dann zur der dritten Spalte der Rechte. Wenn ich das richtig verstanden habe, bei dir soll dann der user wwwrun sein.

Ich verstehe nicht ganz dein Problem. Du legst Dateien an und bekommen wwwrun als Owner (das ist ja logisch). Ich habe noch nicht Dateien per PHP gelöscht, deshalb weiß ich nicht, was das Problem ist. Es müsste gehen, weil der Owner der selbe ist. Und wie sehen die Rechte dieser Dateien aus?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.01.2004, 15:41 Uhr
talis



also das problem ist, dass man per script keine über ein script erstellte dateien löschen kann. ein script mit root rechten kann demnach keine datei mit owner wwwrun löschen.

geht jetzt nur per hand und das macht ja keinen sinn, sonst kann ich mir mein admin interface auch schenken.

die datei hat alle rechte, wie gesagt, damit hat es aber nichts zu tun, da ich immer eine fehlermeldung bekomme. anfangs dachte ich, dass es daran liegt, dass ich den inhalt des zu löschenden ordners vorweg löschen muss und dann erst den ordner selbst löschen kann. aber das war ein irrglaube.

wenn ich den beispielsweise den ordner landschaft löschen möchte, bekomme ich folgende fehlermeldung:
Warning: SAFE MODE Restriction in effect. The script whose uid is 0 is not allowed to access photos/Landschaft owned by uid 30 in /home/www/web2/html/furchtlos/gallery/safe_mode.php on line 35

und das sagt für mich mein beschriebenes problem aus. mein script mit uid0 darf den ordner, der über's script erstellt wurde und nun wwwrun ist, nicht löschen.

ich kann mit dem admin interface jeden per hand erstellten ordner löschen, nur eben keinen, den das script erstellt hat.

Dieser Post wurde am 18.01.2004 um 15:43 Uhr von talis editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.01.2004, 15:57 Uhr
Pablo
Supertux
(Operator)


Ach so, wenn du eine root-Rechte Datei per PHP löschen willst, dann wird das eng sein. Ändere dann die Rechte von diesen Dateien oder vom Verzeichnis mit wwwrun als Owner. Dann sollte es gehen. Trotzdem wäre es nicht gut, wenn du Administrative Sachen in Dateien speicherst, denn das könnte jeder öffnen und verändern. Hast du MySQL? Damit habe ich mein Admin Interface gemacht. Alle Einstellungen habe ich in eine MySQL Datenbank gespeichert.


Zitat:
talis postete
ein script mit root rechten kann demnach keine datei mit owner wwwrun löschen.



das ist logsich. Der Internet user wird als wwwrun erkannt und wwwrun kann keine root-Sachen löschen. Deshalb sollte man diese Scripts nicht mit root-Owner setzen, aber warum willst du die Scripts löschen?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 18.01.2004 um 16:00 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
18.01.2004, 16:02 Uhr
talis



ich speichere keine administrativen sachen in dateien. ich erstelle für eine gallerie ordner, die ich auch wieder löschen können will. in den ordner sind photos, also das ist nichts administratives ;-)

es hat NICHTS mit den rechten der datei zu tun, diese können ALLE rechte haben, trotzdem lassen sie sich nicht löschen!

klar habe ich mysql, aber das bringt mir in meinen fall recht wenig. leider, habe schon mit einem professor darüber gesprochen, der kann mir nicht mal sagen woran es liegt. also frage ich mich wie ich das problem lösen soll.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
18.01.2004, 16:10 Uhr
Pablo
Supertux
(Operator)


Das sieht mehr als ein PHP Problem sein, denn ich kann mir nicht vorstellen, dass es nicht geht. Wir gesagt, ich habe mit PHP nie Dateien gelöscht, deshlab weiß ich es nicht, woran es liegt. Frag man in PHP Forum, www.fun-soft.de/board.php?boardid=18

Ich glaube nicht, dass es Linux-Problem ist, wenn die Rechte richtig gesetzt werden. Ich werde das mal testen.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
18.01.2004, 16:16 Uhr
talis



das löschen von dateien funktioniert ja wunderbar - solange sie nicht von einem script erstellt wurden.

ich kann jeden ordner löschen, den ich selbst am server erstellt habe, nur keinen der per script erstellt wurde.

das kann also definitiv (was meine logik betrifft) nur ein linux problem sein bzw. eine zu ändernde einstellung für die rechte eines rootscriptes bzw. die des wwwrun.

ich habe eine photogallerie runtergeladen und installiert, die ähnliches macht, wie meine, und die funktioniert auch nicht.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
18.01.2004, 16:21 Uhr
Pablo
Supertux
(Operator)


Mit welcher Funktion versuchst du die Dateien zu löschen?
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
18.01.2004, 16:32 Uhr
talis



zuerst lösche ich mit unlink() den inhalt des ordners und danach mit rmdir() das verzeichnis
Dieser Post wurde am 18.01.2004 um 16:32 Uhr von talis editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
18.01.2004, 17:14 Uhr
Pablo
Supertux
(Operator)


Bei mir hat es Funktioniert. Ich habe die htmldocs in /www/pub/ und sie haben root Rechte. Was ich gemacht habe ist folgendes:


Code:
$ su
$ cd /www/pub
$ mkdir probe
$ chown nobody:nobody probe
$ mkdir probe/probe
$ chown nobody:nobody probe/probe



Nun, habe ich 2 Skripte angelegt, create.php und delete.php

create.php

PHP 4:
<?php
$dat = fopen("./probe/test.txt","w"); // oeffnen
  if(!$dat)
    die("Error: dateiname konnte nicht geöffnet werden");
fwrite($dat, "Hallo");
fclose($dat);
?>



delete.php

PHP 4:
<?php
unlink("./probe/test.txt");
rmdir("./probe/probe");
?>



Dann waren beide (./probe/test.txt und ./probe/probe) weg.


Bearbeitung von Pablo:

Nach Ausführung von create.php

Code:
supertux:/www/pub/probe # dir
total 5.0k
drwxr-xr-x    3 nobody   nobody         96 Jan 18 17:15 .
drwx--x--x    9 root     root         1.2k Jan 18 17:15 ..
drwxr-xr-x    2 nobody   nobody         48 Jan 18 17:15 probe
-rw-r--r--    1 nobody   nobody          5 Jan 18 17:15 test.txt



Nach Ausführung von delete.php

Code:
supertux:/www/pub/probe # dir
total 1.0k
drwxr-xr-x    2 nobody   nobody         48 Jan 18 17:17 .
drwx--x--x    9 root     root         1.2k Jan 18 17:15 ..


Wie du siehst, bei mir ging's. Zieg die Rechte der Verzeichnisse, in die du alles schreibst.
wenn ich zum Besipiel rmdir("./probe"); schreibe, dann kann ich auch nicht löschen, weil das aktuelle Verzeichnis root gehört.


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 18.01.2004 um 17:19 Uhr von Pablo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: