DS209+II Update 850 alle open_basedir-Einträge weg

Status
Für weitere Antworten geschlossen.

Lacknone

Benutzer
Mitglied seit
13. Okt 2008
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Hy Community,
ich hoffe ihr könnt mir behilflich sein.
Hatte gestern bei meiner DS209+II ein Firmwareupdate auf die aktuelle 850 gemacht. Seit diesem Moment sind alle Einträge aus open_basedir gelöscht. Nun weiß ich nicht mehr, was da drinstehen muss.

Kann mir hier jemand bitte behilflich sein?

Auch würde mich interessieren, wo ich denn Einträge in der php.ini ändern muss, damit diese nach einem Update nicht wieder auf Default zurückgesetzt werden.

Vielen Dank schon mal für eure Hilfe

Greetinx Lacknone
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Die Variante für Tippfaule wäre ;)
Code:
open_basedir = /
Müsste eigentlich reichen.
 

Lacknone

Benutzer
Mitglied seit
13. Okt 2008
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Hy,
danke mal für den Tip. Aber gibt es dadurch nicht irgendwelche Sicherheitsrisiken? Mach ich mir damit nicht meine NAS unsicher? Habe mehrere virtuelle Hosts darauf laufen. Möchte da schon sicher gehen, das ich mit diesem Eintrag nicht die Türen freiwillig öffne.

Danke für eure Hilfe
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Unter welchem User läuft der "normale" Apache? nobody, der sollte praktisch keine Rechte im System haben. Auf wirklich wichtige Files kann nobody nicht zugreifen. Anders ist das mit dem Apache auf dem der DSM läuft. Dieser läuft unter root und wenn du den DSM vom Internet her erreichbar hast, dann solltest du die open_basedir genauer spezifizieren. Wenn aber der Root Apache nicht vom Web her erreichbar ist, dann ist ein open_basedir = / ausreichend
 

Lacknone

Benutzer
Mitglied seit
13. Okt 2008
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Hab einen user xyz eingerichtet und diesen auch in eine usergroup 123 gepackt. Diese hatte ich auch in der httpd.conf unter usr/syno/apache/conf angepasst. Leider sind auch diese Änderungen alle überbügelt worden. Ist das richtig, dass nach einem Firmwareupdate alle Änderungen zurückgesetzt werden?
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0

Lacknone

Benutzer
Mitglied seit
13. Okt 2008
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Bescheiden, aber damit muss man wohl leben.
Naja, also würde es Sinn machen, explizit einen Eintrag zu machen der lautet:
volume1/web/joomla zu machen bzw. nur volume1/web wenn ich mehrere Hosting darauf laufen hab, richtig? Muss ich sonst noch irgendwelche Einträge setzen? meine mich dunkel zu erinnern, dass da irgendwas von var/services oder so drin stand?!
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Bei mir steht folgendes drin
Code:
/usr/syno/synoman:/etc:/var/run:/tmp:/var/spool/php:/volume1/@tmp/php:/var/services/web:/var/services/photo:/var/services/blog:/var/services/homes:/var/packages/MailStation/target/roundcubemail
 

Lacknone

Benutzer
Mitglied seit
13. Okt 2008
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Danke, dann werde ich mal die Einträge so übernehmen. Sieht so auf den 1.ten Blick aus wie das, was ich habe.

Kannst du mir noch sagen, ob ich da die richtige httpd.conf geändert habe, oder ob ich da eine andere verwenden muss?

Danke
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Kannst du mir noch sagen, ob ich da die richtige httpd.conf geändert habe, oder ob ich da eine andere verwenden muss?

Danke
open_basedir kommt aber in die /usr/syno/etc/php.ini und nicht die Apache Conf!
 

Lacknone

Benutzer
Mitglied seit
13. Okt 2008
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Jap, klaro, das hab ich verstanden.

Mir ging es jetzt darum, wenn ich den webserver unter einem speziellen User laufen haben, dann muss ich ja die httpd.conf anpassen, nur bin ich mir nicht sicher, ob ich da die richtige Datei und den richtigen Pfad verwendet habe.
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Jap, klaro, das hab ich verstanden.

Mir ging es jetzt darum, wenn ich den webserver unter einem speziellen User laufen haben, dann muss ich ja die httpd.conf anpassen, nur bin ich mir nicht sicher, ob ich da die richtige Datei und den richtigen Pfad verwendet habe.
Läuft denn der Webserver nicht immer entweder als root oder nobody? Geht das denn überhaupt den Server unter einem anderen Benutzer als root oder nobody laufen zu lassen :confused:
Aber die Conf Dateien liegen grundsätzlich schon unter /usr/syno/apache/conf Dort sollte es zwei Conf Dateien geben: Eine httpd.conf-user und eine httpd.conf-sys. Erstere ist für den User Apache unter nobody und letztere für den Server unter root (z.B. für DSM oder Audiostation)
 

Lacknone

Benutzer
Mitglied seit
13. Okt 2008
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Ja, zumindest hatte ich damit bei Joomla Erfolg. Bei mir war das Problem, das wenn ich etwas per ftp und nicht über Joomla hochgeladen habe, ich keine Berechtigung aus Joomla heraus hatte, da das Verzeichnis nicht beschreibbar war. Daher habe ich in der config-Datei den User und die Group geändert, und damit lief der Apache unter diesem User und mit gleichem konnte ich dann auch Dateien via FTP hochladen und aus Joomla heraus aufrufen.

Ich habe da 3 Dateien, httpd.conf (diese hatte ich auch geändert) httpd.conf-user und httpd.conf-sys
 

jahlives

Benutzer
Mitglied seit
19. Aug 2008
Beiträge
18.275
Punkte für Reaktionen
4
Punkte
0
Wenn du Dateien via ftp rauflädst, dann musst du dich achten dass der User nobody mindestens Leserechte auf die Dateien hat (oder gleich Lese und Schreibrechte für den Webserver). Dann müsste auch Joomla problemlos auf die Daten zugreifen können. Wahrscheinlich wurden die Daten beim FTP Upload mit Rechten für deinen User angelegt. Damit durfte der Webserveruser und damit auch Joomla nicht auf die Daten zugreifen.
Die meisten FTP Clients bieten die Möglichkeit die Dateirechte auf dem Server anzupassen. Oder sonst musst auf die Konsole zurückgreifen und die Rechte manuell anpassen.
Ich halte es bei meinem Apache so, dass alle Dateien und Verzeichnisse in /volume1/web einem meiner User gehören. Zuätzlich setze ich die Gruppe auf nobody. Dann setze ich ein chmod -R 0770 /volume1/web und der Webserver darf überall unter web zugreifen.
 

Lacknone

Benutzer
Mitglied seit
13. Okt 2008
Beiträge
35
Punkte für Reaktionen
0
Punkte
0
Ja, genau so war es. Dann werde ich nochmal mit den Configfiles etwas damit spielen und schauen, welche Lösung mir besser erscheint.

Ich danke dir auf jedenfall für die tolle Hilfe zu so später Stunde.

Greetinx Lacknone
 

itari

Benutzer
Mitglied seit
15. Mai 2008
Beiträge
21.900
Punkte für Reaktionen
14
Punkte
0
Läuft denn der Webserver nicht immer entweder als root oder nobody? Geht das denn überhaupt den Server unter einem anderen Benutzer als root oder nobody laufen zu lassen :confused:

In der /usr/syno/apache/conf/httpd.conf-user legen diese beiden Direktiven fest, wie der user-apache laufen soll:

Rich (BBCode):
User nobody
Group nobody

Standardmäßig laufen wohl alle Apaches mit dem Benutzer ('root') hoch, mit dem sie gestartet werden (/usr/syno/etc/rc.d/S97....) und ändern dann bei den Child-Processes die User-ID (Group-ID) so ab, wie sie in der httpd.conf vereinbart wurden (siehe ps-Listing, wie es bei mir ausgegeben wird):

Rich (BBCode):
17170 root       6864 S   /usr/syno/apache/bin/httpd -DSSL
26288 nobody     7904 S   /usr/syno/apache/bin/httpd -DSSL
26346 nobody     9208 S   /usr/syno/apache/bin/httpd -DSSL
26414 nobody     7748 S   /usr/syno/apache/bin/httpd -DSSL
26431 nobody     7592 S   /usr/syno/apache/bin/httpd -DSSL
26433 nobody     7284 S   /usr/syno/apache/bin/httpd -DSSL

Itari
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat