• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

vom lokalen Apachen auf Server: ownership übernehmen !

lin

Hacker
Hallo und guten Tag liebe Linux-Freunde,

ich hab ein lampp System eingerichtet mit Apache 2.2, einem MySQL-Server, PHP 5.3x und phpMyadmin. Alles läuft erstmal und auch nicht schlecht. Ganz grundsätzlich: Es geht - ich kann auch da arbeiten. Ich installiere z.b. auf dem Server immer wieder mal ein CMS - eine Joomla. Das Installieren des CMS geht noch ganz gut. Auich das Installieren von Extensions , Templates und Plugins geht ganz gut.

Das tolle ist - ich kann, wenn alles gemacht ist - also alles installiert ist, dann immer noch (selbst auf jemdem einzelnen auch noch so kleinen) Ordner die folgenden Eigenschaften einstellen und bestimmen

- Rechte auf den Verz.
- Besitzer des Verzeichnisses
(und das scheint mir noch vile viel wichtiger zu sein!!!!)

Eine Frage die mir hier noch einfällt - in diesem Zusammenhang:

Auf dem WEBSERVER habe ich ein Rechte-Problem fort und ist insgesamt schwerwiegender. Mein SERVER-Admin ist ein Sicherheits-fan. Er lässt es nicht zu, dass der SERVER das so einfach läuft.

Er will nicht, dass PHP als fcgi/cgi laeuft.

Wenn ich auf dem Webserver dann und wann was nachinstalliere, dann frage ich mich wie ich - wenns dann dazu kommt wenn der SERVER ein Ordner unter wwwrun-'Userschaft anlegt noch was ändern, konfigurieren oder nachinstallieren kann.

Das führt zu mehr oder minder grosssen Konflikten. Das könnt ihr euch sicher lebhaft vorstellen.

Frage: ich könnte diese Konflikte ja umgehen, in dem ich einfach eine vorinstallierte und vorkonfigurierte CMS schon soweit fertig auf den SERVER übertrage - und in dieser bereits fix und fertig konfigurierten und eingerichteten Version eben überall deer user vhost ist - nirgends ein user namens www-run.- Was meint ihr denn dazu? Denn zu Hause - also auf dem heimischen Lampp - kann ich das ja noch gut regeln und steuern mit den Rechten.

Was meint ihr dazu...!? Freu mich von euch zu hoeren. By the way: Wenn ich etwas schecht oder nur halb erklärt habe - dann lasst mich das wissen - ich kann sehr gerne noch mehr schreiben noch ausführlicher erläutern oder so!?

viele Gruesse lin ;)
 

revealed

Guru
Das läuft normalerweise genauso wie in deinem Documentroot. Ich verstehe nicht was dein genaues Problem ist. Ich könnte mir höchstens vorstellen, dass du beispielsweise versucht hast:

Als root Dateien in den standard documentroot zu laden, ohne die Berechtigungen an den richtigen user anzupassen und dass die Dateien noch auf root.root stehen und deswegen nicht ausgeführt werden können zum Beispiel. Oder durch Editieren und Speichern von Dateien als anderer user wurden auch die Berechtigungen der Datei geändert.

Das kann freilich dazu führen, dass diese nicht mehr lesbar sind, wenn der Server wwwrun.www erwartet aber ein script auf ein File verweist, dass root.root ist.

Wenn du bei deinem Anbieter die Dateien beispielsweise via FTP dann hochlädst, werden die Berechtigungen automatisch dem Benutzer und der Gruppe auf dem Server der deinen Zugang repräsentiert angepasst.

Das heisst du wirst auf dem Server Gruppen und Benutzerzugehörigkeit dann eher nicht mehr ändern können. Das wird schon der FTP Zugang nicht zulassen.

Wichtig ist, dass diese Berechtigungen eben stimmen und die Dateien eben dem richtigen User und Gruppe angehören.

lokal auf deinem System kannst du mit chown und chmod beispielsweise Berechtigungen korrigieren.

Beispielsweise so ---
Verzeichnisse 755:
Code:
/usr/bin/find /pfad/zu/joomla/root/ -type d -exec /bin/chmod 755 {} \
Dateien 644:
Code:
/usr/bin/find /pfad/zu/joomla/root/ -type f -exec /bin/chmod 644 {} \

Benutzer und Gruppe rekursiv:
Code:
chown wwwrun.www /pfad/zu/joomla/root/ -R

Also solange du die Gruppenzugehörigkeit im Documentroot nicht irgendwie selbst verbiegst, wirst du alles wie gewohnt vom Joomla Backend installieren können. Ich wage zu bezweifeln, dass da was nicht gehen soll.

bzw. "Na und! Dann läufts halt als anderer User."

http://www.linux-club.de/viewtopic.php?f=22&t=115252

Du wirst auf keinem massenroot server das Recht erhalten, irgendwie deine Benutzer und Gruppenzugehörigkeit beliebig zu konfigurieren, da du ja sonst beispielsweise die Documentroots der anderen einsehen und verändern könntest, oder die Herrschaft über den ganzen Server an dich reissen könntest.
http://httpd.apache.org/docs/2.3/misc/security_tips.html#serverroot

Für dich ist wichtig, dass all deine Dateien den Gleichen user, guppe und richtige schreib lese ausführrechte haben. Dann klappts auch bei der Portierung auf einen anderen server. Dein Problem ist derzeit lokal.

Was ich empfehlen kann ist:
https://www.akeebabackup.com/software/akeeba-backup.html
Damit hab ich schon einige positive Erfahrungen sammeln können. Hier der Grund warum:
https://www.akeebabackup.com/documentation/akeeba-backup-documentation/a-typical-backup-restoration-workflow.html

Vielleicht wär das was für dich.

Gruß,

R

PS.: Wenn du mit mod_userdir arbeitest, bist du bei deinem LAMP insofern auf der sicheren Seite, dass die Gruppen und Nutzerzugehörigkeit nicht verbogen wird, weil du ja als der User dem das Verzeichnis gehört dort die Dateien schon modifizieren kannst. Da kommt also normalerweise dann nichts mehr durcheinander.

Bei deiner aktuellen konfiguration wird es höchst warscheinlich genügen obige Befehle auszuführen und dein Backend funktioniert wieder.
 
OP
L

lin

Hacker
Hallo u. guten Abend revealed,

schoen von dir zu hoeren! Danke für deine Tipps. Du kennst dich sehr gut aus. In deinem Beitrag steckt viel drinne - ich habe ihn jetzt nur kurz gelesen und übeflogen. Ich werde mal später am We. versuchen deine Tipps nachzuvollziehen - auch den mit Akeeba von dem ich schon gehoert habe. Aufs Ganze gesehen stecken in deinen Erläuterungen viele Teile die mir regelrecht Hoffnung machen.

Das hier ist nach meinen Erfahrungen eine Wurzel von Problemen - damit fängt vielfach das Problem an. Als root Dateien in den standard documentroot zu laden, ohne die Berechtigungen an den richtigen user anzupassen und dass die Dateien noch auf root.root stehen und deswegen nicht ausgeführt werden können zum Beispiel. Oder durch Editieren und Speichern von Dateien als anderer user wurden auch die Berechtigungen der Datei geändert.

Wenn beim Nachinstallieren da sozusagen (hmm wer ist das denn der user ftp!?!?!) versucht wird eine DATEI anzulegen einen ordner anzulegen oder ähnliches, dann bekommt das NEUE EBEN oft den USER WWWrun und wir sind mitten drine im Problem...Das ist im Grund mein Problem - von hier aus geht es dann oft nicht mehr weiter.

Deshalb hatte ich die Idee ggf. dann - wenn mal ein Ordner an den user http://www.run " gefallen " ist, ggf neu einem anderen USer zu geben.
Da hatte ich die Idee, Abhilfe zu schaffen, etwas darin dass ich mit der konsole einlogge und dann versuche zu korrigieren. Oder eben - und da liegt ja wohl dann doch ein Denkfehler drinne - zuhause auf dem lokalen Server alles richtig zusammenbaue - die korrekten User einrichte und alles in sich konsistent mache so dass es passt (vor, während und nach dem Installieren von Extensions).

Mein Serveradmin sagt, dass er mit dem USER wwwrun arbeitet: bzw. mit der Moeglichkeit die das SETGID-Bit bietet (siehe unten)

Er sagt im Übrigen, dass man mit dem SETGID-BIT im Grunde alle Turbulenzen zmgehen kann - und auch ausreichende Moeglichkeiten hat, um Problemen mit der Ownership zu begegnen. Bei Joomla ( und auch bei Drupal kommt man immer wieder unweigerlich auf das thema)

JFolder::create: Could not create directory http://forum.joomla.org/viewtopic.php?t=252418
mit sagenhaften 644 Beiträgen / Postings.

´Ich habe damit im Grunde seit Jahren zu tun. Jetzt will ich da mal praktikable Loesungen - und mich irgendwie ggf,. auch mit tools
und Moeglichkeiten beschäftigen, die ich noch nicht kenne oder noch nicht eingesetzt habe. Mein Admin ist echt ein Sicherheitsfreak - im Grunde ja auch gut so - empfiehlt da Moeglichkeiten, die wenn ich sie im Joomla-Forum erwähne meistens nur Kopfschuetteln hervorrufen. Er sagt dass ich alles ( was an Problemen) auftaucht mit dem SETGID-BiT lösen kann.

Um es besser zu verarbeiten, habe ich das mal dann aufgeschrieben, was Paul mir in mails gesagt hat: Die Lösung des wwwrunproblems - mit SETGID-BiT auf on gesetzt http://www.joomlaportal.de/erste-schritte-mit-joomla/263495-die-l-sung-des-wwwrunproblems-mit-setgid-bit-auf-gesetzt.html

Mein Admin hat mir das so erklärt - mit dem problem des wwwrun. - das ich mit dem sog. Setgid-bit bearbeiten/loesen soll.
Er sagt: Die Verzeichnisse besitzen ein sogenanntes SETGID Bit - wird in einem solchen Verzeichnis ein neues File erzeugt, bekommt es AUTOMATISCH die Gruppe des Verzeichnisses (in diesem falle "vhost") UND NICHT Gruppe "www". Und dann kannst Du wieder auf das File zugreifen!

Also mal anders gesagt:

VERZEICHNISS HAT KEIN SETGID BIT
================================
Du erzeugst das File: ownership vhost:vhost
Server erzeugt File: ownership wwwrun:www (kannst Du NICHT mehr lesen)


VERZEICHNISS HAT SETGID BIT

===========================
DU erzeugst das File: ownership vhost:vhost
Server erzeugt File: ownership wwwrun:vhost (Du KANNST ES lesen)
(MAGIC GROUP CHANGE)

Also nochmal anders gesagt: man darf die die SETGID und KEEPOWNER (+t) Bits NICHT WEG Machen (z.B. wenn man ein Verzeichnis mal kurzzeitig ganz (!!!!!) zu machen will, also wenn man ein Verzechniss "abschalten" will (mit 0-Rechten), damit macht man sich die Probleme selbst!
Zwischenfazit zu diesem Einschub Also - ich glaub dass man das so machen kann. Das wwwrun Problem loesen mit dem SETGID-Bit.

Hmm - ich komm dennoch ab und ann dazu dass ich dann in joomla - auf dem Server dann versuche eine Extension nachzuinstallieren, dann hängen bleibe weil genau die Installation - via ftp-upload einen Ordner auf http://www.run vergibt also die Rechte mir dann entzogen werden. Dann wird die Installation unmöglich oder unvollständig - oder sie bleibt sozusagen einfach hängen. Cant copy File oder so etwas...

Deshalb wollte ich einfach - um dieses Problem endgültig loszuwerden, mal vielle. einfach die Möglichkeit haben, auf dem Server die
chown entsprechend zu ändern - so dass wennn mal wieder ein Verzeichnis / Ordner dem USER wwwrun zug eordnet ist, dann wieder einem
anderen User zu "übergeben" . Ich denke dass man das mit der konsole locker und leicht machen kann. Mit FileZilla geht das leider nicht.
By the way: Ich denke dass es mit winSCP - einem anderen GUI gegangen ist/ wäre.

Aber - ganz grundsätzlich denke ich, dass die Konsole sowieso am leistungsfähigsten ist. In die oben angesprochene Diskussion auf dem Joomla-Forum hat sich dann mein SERVER-Admin mal eingeschaltet und begründet warum er so sehr auf Nummer Sicher gehen will - und deshalb Möglichkeiten PHP als CGI /fcgi auf dem Server laufen zu lassen eher ablehnt auch suPHP ebenso.

Also revealed ich muss offen gestanden deinen Beitrag nochmals genau lesen. DA steckt dann doch noch wohl einiges drinne, dass ich
auf meine Situation gut beziehen kann - nicht zuletzt auch akeeba-Backup,

Ich meld mich am We bzw am Anfang der Woche nochmals

Danke für deine Tipps nochmals

lin
 

revealed

Guru
Hier steht glaube genau was du suchst:
http://docs.joomla.org/Why_can%27t_you_install_any_extensions%3F

Gruß,

R
 
OP
L

lin

Hacker
hallo Revealed

danke für deine nachricht. ich habs mal überflogen - ich denk dass das ( wie deine obige Nachricht schon ) in die richtige Richtung geht.

Allerdings - ich hab PHP Version 5.3.8 auf dem Server. Das duerfte also nicht 100 % das thema sein. Aber ich les mir das morgen nochmals genauer durch. (es ist jetzt schon sau -spät)

revealed schrieb:
Hier steht glaube genau was du suchst:
http://docs.joomla.org/Why_can%27t_you_install_any_extensions%3F

Insgesamt sind deine Beiträge schon sehr sehr viel wert - ich komm damit weiter. Meld mich wieder.

Gruesse lin
 
Oben