Rekire: MySQL-Serverausführrechte

Hallo,

ich habe einen MySQL-Server mit einem LAMPP laufen, das klappt soweit gut und ich habe die Rechte vom Webserver etc. komplett nach meinen Wünschen konfiguriert. Jetzt startet der MySQL Server nicht mehr, wenn ich auf dem /opt/lampp/var/mysql/ Verzeichnis nicht die Rechte 777 gebe.
Ich bin mir sicher das dies nicht sein muss, also wollte ich das der Server unter bestimmten Benutzerrechten läuft, so das ich die Rechte 770 (bzw 660) oder besser 700 (bzw 600) benutzen kann.

Meine genaue Frage ist jetzt:
Wie kann ich den MySQL Server unter einen bestimmten Benutzerkennung ausführen?
Benötigt das oben genannte Verzeichnis das X-Flag?

Das der Lampp nicht optimal ist ist mir bewusst, aber ich schaffe es nicht die aktuellsten Pakete (PHP 5, MySQL 5, ...) zu installieren.

Gruß,

Rekire

  1. Hi Rekire,

    Ich bin mir sicher das dies nicht sein muss, also wollte ich das der Server unter bestimmten Benutzerrechten läuft, so das ich die Rechte 770 (bzw 660) oder besser 700 (bzw 600) benutzen kann.

    Ausführbaren Dateien, welche vom System verwendet werden, ein 777 zu geben ist grundsätzlich schlecht - dann könnte nämlich jemand auf dem System das Programm bearbeiten und du oder das System (z.B. Cronjob) startet das Programm dann irgendwann und führt (ungewollt) fremden Code aus, der sonst was auf deinem Server anstellen kann.

    Hast du es schon mal mit 755 probiert?

    Ansosten steht doch bestimmt eine Fehlermeldung im MySQL-Log drin (oder zur Not auch im Syslog) - hast du nachgeguckt? Ohne eine vernüftige Fehlermeldung kann man nur raten, und "wir" hier im Forum sind bekannt dafür, dass unsere Glaskugeln nie richtig gut funktionieren ;-)

    Benötigt das oben genannte Verzeichnis das X-Flag?

    Grundsätzlich brauchst du für ein Verzeichnis immer das X-Flag, da die Inhalte eines Verzeichnisses nur dann aufgelistet werden können, wenn das X-Flag gesetzt ist. Was du nicht brauchst ist das W-Flag, sofern in dem Verzeichnis nichts verändert werden können soll, sowie kein W-Flag für die Dateien, wenn diese nicht verändert werden können sollen.

    Deshalb ist auf dem meisten Betriebssystem der Standard 0755 für neue Ordner und 0644 für neue Dateien oder 0755 für ausführbare Dateien (d.h. Programme).

    Das der Lampp nicht optimal ist ist mir bewusst, aber ich schaffe es nicht die aktuellsten Pakete (PHP 5, MySQL 5, ...) zu installieren.

    Welches Betriebssystem benutzt du? Debian? Da kannst du problemlos PHP5, Apache2 und MySQL5 aus dem testing-Zweig installieren, hab ich kürzlich erst gemacht. Andere Distributionen bieten dir meist ebenfalls diese Möglichkeiten um neuere Packete zu installieren, allerdings kenne ich mich da nicht so aus.

    Viele Grüße aus Kanada,
      ~ Dennis.

    1. echo $begrüßung;

      Hast du es schon mal mit 755 probiert?

      Es geht um das Verzeichnis /opt/lampp/var/mysql/. Wenn ich mich recht irre, ist das ein Verzeichnis, in das der "Lampp" schreiben möchte, weil er darin die MySQL-Datenbanken ablegt. Allen anderen darauf Lese- und Ausführrechte zu geben ist nicht erforderlich, aber der "Lampp" braucht es.

      Was bei der Rechtevergabe auch noch wichtig ist, sind die Besitzverhältnisse. Wem gehört das Verzeichnis? Welche Benutzerkennung soll darauf zugreifen? Sind beide Kennungen unterschiedlich, müsste der Superuser letzterer Kennung das Verzeichnis übereignen, wenn es mit
      rwx --- ---  oder in Zahlen: 0700
      laufen soll.

      echo "$verabschiedung $name";