prentice
Goto Top

Suche Hilfe oder Unterstützung für VPS nach Softwareupdate

Hallo alle Spezialisten hier!

Ich suche jemanden, der mit bei folgendem Problem "unter die Arme greifen" kann und will:

Ich habe einen VPS mit WHM/Cpanel, dessen Software vor Kurzem updatet wurde, mit "root"-Zugriff, von dem ich außer der Bedienung des WHM nichts verstehe.

Jetzt habe ich Centos 6.1.0; Easy Apache 2.4, PHP 5.4 … 7.3 und PERL 5.8.8. laut WHM-Ausgabe.
phpinfo sagt dazu "Linux … 2.6.32-042stab132.1". Ich weiß nicht, was zuvor war.
Der VPS bedient mehrere Websites, zum Teil rein HTML, zum Teil PHP und auch einige mit PERL-Scripts.

Bis zum Update liefen alle Websites (und sämtliche Scripts) offenbar problemlos, seit dem Update geht (fast) nichts mehr - außer: alle Seiten, die nur Ausgaben zum Browser sind, laufen gut. Alle Seiten, bei denen Dateizugriffe (durch Scripts) erforderlich sind, laufen nicht mehr (richtig).

Ich habe ein kleines (PHP) Script zur Reparatur ausgewählt und habe den Code geändert, dass es Ausgaben erzeugt, sobald irgend ein Zugriff fehlschlägt. Es zeigt eindeutig, dass (sämtliche?) Dateizugriffe fehlschlagen. Das Script läuft jetzt unter PHP 5.4.45 (lt. PHPinfo)

Ich kann nicht sagen, unter welcher PHP-Version das Script zuvor problemlos lief, aber es lief bis 24. März (laut Log-Datei); da wurde das Update gemacht.

Der Datacenter-Support lässt mich im Regen stehen "Support of custom scripts is outside of our support scope" …

Mein Frage hier: Gibt es hier jemand, der bei solchen Problem Tipps geben kann, wie ich der Sache auf den Grund gehen kann? Nachdem so gut wie jeder Dateizugriff blockiert ist, nehme ich an, dass es sich hier um eine "Grundeinstellung" handelt, die falsch ist, doch habe ich keinerlei Erfahrung mit Systemeinstellungen, die machte der Support stets klaglos (wenn ich sagte was ich will).

Nähere Einzelheiten gebe ich natürlich gerne bekannt, wenn sich jemand findet, der mir helfen kann und will. Doch ersuche ich vorweg schon um Verständnis: "Adminesisch" kommt mir meist spanisch vor face-sad also bitte, Sie sprechen mit Otto Normalverbraucher.

Danke! Ich hoffe sehr auf Hilfe, denn ich bin mit meinem Latein am Ende. Falls ich hier am "falschen Markt bin", bin ich dankbar, wenn mir das gleich jemand sagt.

Liebe Grüße, Helmut

Content-Key: 448230

Url: https://administrator.de/contentid/448230

Ausgedruckt am: 29.03.2024 um 06:03 Uhr

Mitglied: SeaStorm
SeaStorm 07.05.2019 um 17:42:46 Uhr
Goto Top
hi

gibts denn auch sowas wie ne Fehlermeldung? Logs vom Webserver oder PHP ?
Mitglied: prentice
prentice 07.05.2019 um 18:50:17 Uhr
Goto Top
Danke Seastorm!
Im Cpanel gibt es Fehlermeldungen, aber die sind alle Folge von "fopen" fehlgeschlagen (ich habe den Pfad und Datenamen mit +++ überschrieben):

Tue May 07 16:18:35.948325 2019] [cgi:error] [pid 16849] [client 213.47.23.6:56571] AH01215: PHP Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/+++.php on line 52: /usr/local/cpanel/cgi-sys/ea-php54
[Tue May 07 16:18:35.948216 2019] [cgi:error] [pid 16849] [client 213.47.23.6:56571] AH01215: PHP Warning: fopen(/home/+++.txt): failed to open stream: Permission denied in /home/+++.php on line 44: /usr/local/cpanel/cgi-sys/ea-php54
[Tue May 07 16:18:35.948072 2019] [cgi:error] [pid 16849] [client 213.47.23.6:56571] AH01215: PHP Warning: fclose() expects parameter 1 to be resource, boolean given in /home/+++.php on line 40: /usr/local/cpanel/cgi-sys/ea-php54
[Tue May 07 16:18:35.947954 2019] [cgi:error] [pid 16849] [client 213.47.23.6:56571] AH01215: PHP Warning: fwrite() expects parameter 1 to be resource, boolean given in /home/+++.php on line 37: /usr/local/cpanel/cgi-sys/ea-php54
[Tue May 07 16:18:35.947843 2019] [cgi:error] [pid 16849] [client 213.47.23.6:56571] AH01215: PHP Warning: rewind() expects parameter 1 to be resource, boolean given in /home/+++.php on line 34: /usr/local/cpanel/cgi-sys/ea-php54
[Tue May 07 16:18:35.947736 2019] [cgi:error] [pid 16849] [client 213.47.23.6:56571] AH01215: PHP Warning: fgets() expects parameter 1 to be resource, boolean given in /home/+++.php on line 28: /usr/local/cpanel/cgi-sys/ea-php54
[Tue May 07 16:18:35.947566 2019] [cgi:error] [pid 16849] [client 213.47.23.6:56571] AH01215: PHP Warning: fopen(/home/+++.txt): failed to open stream: Permission denied in /home/+++.php on line 22: /usr/local/cpanel/cgi-sys/ea-php54

Der VPS hat gewiss irgendwo weitere Log-Dateien, doch die habe ich nie benützt (weil ich ja eine "error.log"-Datei hatte, die alle Fehler listete, die gibt es mit der neuen Version nicht mehr). Ich weiß auch (noch nicht), wo ich die suchen sollte.

Das geänderte Script gibt mir auch die phpInfo aus, sein Name wurde aber geändert, damit niemand sie finden kann. Seine URl gebe ich gerne (über private Nachricht) bekannt, weil diese Ausgabe ja einen Menge Daten enthält, die nicht für die Öffentlichkeit bestimmt sein.

Hilfe das weiter? Lieben Gruß, Helmut
Mitglied: SeaStorm
SeaStorm 07.05.2019 aktualisiert um 19:06:10 Uhr
Goto Top
Hi

ist doch recht klar

Zitat von @prentice:

Permission denied

das Script hat keine Berechtigung auf die txt zuzugreifen.
Vermutlich hat sich der User geändert unter dem die Website/PHP läuft.
Gib mal der (vermutlich) www-data gruppe Zugriff auf diese Datei. Unter wem läuft denn der ganze Spass?

{edit]
Läuft das Ding echt mit PHP 5.4 ??
Mitglied: prentice
prentice 07.05.2019 um 19:39:19 Uhr
Goto Top
Wow, DANKE! Seastrom!

Das war's; die Permsissions standen auf 664 (immer schon), ich habe sie jetzt auf 777 geändert, und es läuft.

(Der Support konnte oder wollte mir das nicht sagen, SEHR ärgerlich, die müssten doch wissen, was ein Update verursacht oder verlangt. Sonst waren sie immer hilfreich, bin schon seit Jahren dort Kunde und immer zufrieden gewesen; aber jetzt ließen sie mich stehen - über einen Monat schon. Aber das nur am Rande, um meiner Erleichterung Luft zu machen!)

Ja, es läuft mit PHP 5.5.45; als "Besitzer und Gruppe" sehe ich nur je eine Zahl: 542 550; wie ich die in einen User übersetze, weiß ich nicht.

Dazu aber jetzt eine weitere Frage, bitte:
Perm. 777 ist ja alles andere als "sicher", nicht wahr? Nun hatte ich allerdings schon beim Design des Scripts "verlangt", dass alle Dateien, die geändert werden, außerhalb des html-Verzeichnissses liegen (auf gleicher Ebene wie etwa das mail- oder das html (www)-Verzeichnis, aber in einem Unterverzeichnis - ist da 777 "sowieso" sicher? Welche Permission-Einstellung darf/soll ich einstellen, dass alles sicher ist?

Und: Bei Perl-Scripts habe ich das gleiche Problem ("acces denied"), aber da ist es schon beim Öffnen eines Handles für eine neue Datei ... da kann es wohl nicht die permission sein, denn die wird ja erst tragend, nachdem die Datei existiert. Sehe ich das falsch? Lesen und Wiederbeschreiben funktioniert dort.

Auf jden Fall bin ich erst mal glücklich, dass ich einen großen Schritt vorwärte gekommen bin, weil ich ja jetzt überall, wo es Probleme gibt mit der Permission operieren kannn. Vielen herzlichen Dank!
Helmut
Mitglied: Vision2015
Vision2015 07.05.2019 um 19:43:03 Uhr
Goto Top
moin..
Zitat von @SeaStorm:

Hi

ist doch recht klar

Zitat von @prentice:

Permission denied

das Script hat keine Berechtigung auf die txt zuzugreifen.
Vermutlich hat sich der User geändert unter dem die Website/PHP läuft.
Gib mal der (vermutlich) www-data gruppe Zugriff auf diese Datei. Unter wem läuft denn der ganze Spass?

{edit]
Läuft das Ding echt mit PHP 5.4 ??
mir lief es grad auch kalt den rücken runter.....
failed to open stream: Permission denied in /home/+++.php on line 22: /usr/local/cpanel/cgi-sys/ea-php54
und ich würde WWW-data nicht in /home schreiben lassen.... was schreibt er denn in die .txt?

Frank
Mitglied: SeaStorm
SeaStorm 07.05.2019 um 20:14:27 Uhr
Goto Top
Zitat von @prentice:

Ja, es läuft mit PHP 5.5.45;
das solltest du ganz fix mal ändern... das grenzt ja schon an ein Wunder, das die Kiste noch läuft... So eine alte PHP Version hat unzählige Sicherheitslöcher!

als "Besitzer und Gruppe" sehe ich nur je eine Zahl: 542 550; wie ich die in einen User übersetze, weiß ich nicht.
Wenn du auf die Shell des Systems gehst, kannst du den Namen dazu anzeigen lassen.


Dazu aber jetzt eine weitere Frage, bitte:
Perm. 777 ist ja alles andere als "sicher", nicht wahr?
Sollte man zumindest nicht verwenden.
Nun hatte ich allerdings schon beim Design des Scripts "verlangt", dass alle Dateien, die geändert werden, außerhalb des html-Verzeichnissses liegen (auf gleicher Ebene wie etwa das mail- oder das html (www)-Verzeichnis, aber in einem Unterverzeichnis - ist da 777 "sowieso" sicher?
Das ist eine etwas grössere Diskussion. Das kommt schlicht auf die Umstände an. Aber sicherer wirds mit 777 jedenfalls nicht...

Welche Permission-Einstellung darf/soll ich einstellen, dass alles sicher ist?
So viel wie nötig, so wenig wie möglich. Hilft dir jetzt auch nicht weiter, aber ich hoffe du verstehst was ich damit sagen will.
Die Permissions, wenn der PHP-Prozess da schreiben soll, wird vermutlich 660 oder 640 sein, aber dazu muss Owner und Group natürlich auch passen. Wie gesagt: Kommt auf die Umstände an.


Und: Bei Perl-Scripts habe ich das gleiche Problem ("acces denied"), aber da ist es schon beim Öffnen eines Handles für eine neue Datei ... da kann es wohl nicht die permission sein, denn die wird ja erst tragend, nachdem die Datei existiert. Sehe ich das falsch? Lesen und Wiederbeschreiben funktioniert dort.
Naja das Problem ist das gleiche. Irgendwelche Berechtigungen fehlen. Wenn der Prozess ne Datei anlegen will aber nicht darf, dann hat er auf dem Ordner halt keine Schreibrechte ...

Evtl. solltest du eine Stunde investieren um dir die Grundlagen der Linux Berechtigungen einzuverleiben ;)
Mitglied: prentice
prentice 07.05.2019 um 20:45:31 Uhr
Goto Top
Nochmals herzlichen Dank für diese "Lektion", Seastorm!

Wenn ich mir anschaue, wie viele Stunden ich verbraten habe mit diesem simplen Problem, dann kann die Lektüre der Linux-Berechtigungen dagegen nur ein "klacks" sein. Irgend eine Adresse, wo ich das finden kann, ohne erst einen Master in IT zu machen? Danke schon im Voraus!

(Nebenbei: Bislang bestand kein Grund für mich, weil ich die "Kiste" ja betriebsfertig - d.h. "gebrauchsfertig" bekommen habe und sie für mich gewartet wurde, ich wollte ja nicht Sys-Admin werden. Aber grundsätzlich bin ich duchaus lernfähig ;) und -willig.)

Ich kann natürlich auch versuchen, die PHP-Version auf eine spätere (neuere) umzustellen ... bis 7.?, das weiß ich wie, aber ich weiß (noch) nicht, was ich da alles im Script ändern müsste. Aber ich hab's mir notiert, und wenn ich die Seiten wieder auf 5.4.... laufen habe, werde ich mir das Thema noch mal vornehmen. Jetzt will ich erst mal möglichst schnell wieder alles am Laufen haben.

Herzlichen Danke noch einmal,
ich werde hier kurz berichten wenn alles geklappt hat (wird ein paar Tage dauern!) Falls es neue Fragen gibt, darf ich die hier stellen, bitte?
Alles Liebe,
Helmut
Mitglied: prentice
prentice 09.05.2019 um 20:42:42 Uhr
Goto Top
Danke, Frank!
Nein, das Scritpt schreibt nicht in /home/ - keine Sorge, das schaut nur so aus, weil ich user und weiteren Pfad durch +++ überschrieben habe.
Helmut