Klaus1: Permission denied beim PHP/MySQL Load into Table

Beitrag lesen

Hallo,

LOAD DATA LOCAL INFILE '...'

lädt eine Datei vom Dateisystem des Client, kopiert diese auf den Server. Verlangt NICHT, dass der Benutzer das "File-Privileg" hat.

Ich habe jetzt extra nochmals geprüft, aber es wird nie "load data local infile" verwendet. Und das File-Privileg sollte ja, wie Du auch schon geschrieben hast, "viel zu weitgehend" gesetzt. Das macht man schonmal, wenn man ein Rechte-Problem ausschließen möchte.

Die Variable secure_file_priv war ursprünglich auf /var/lib/mysql-files gesetzt (so wie es durch die Standardinstallation mit zypper in mysql gesetzt wird), habe ich aber auch schon testweise auf secure_file_priv="" gesetzt.

ToDo:

  • Zu prüfen ist also, wie (und bei welchem Host/IP!) die Anmeldung erfolgt und ob immer der selbe Benutzer von demselben Host angemeldet wird (Falls der Benutzer bei lokaler oder Netzwerkanmeldung unterschiedliche Rechte bezüglich des "File-Privileg" hat).

Das SAP benutzt immer den einzigen FTP-Zugang, um die Daten zu übertragen. Der Anwender benutzt immer die Weboberfläche (PHP-Script, um den Import zu starten). Es ist immer derselbe Anwender (oder ich).

  • Zu prüfen ist also auch, ob mal LOAD DATA INFILE und alternierend LOAD DATA LOCAL INFILE benutzt wird.

Es wird immer nur LOAD DATA INFILE verwendet.

  • Man irrt oft bezüglich der Einstellungen. Ein SHOW GLOBAL VARIABLES LIKE 'secure_file_priv'

zeigt: ""

LG Klaus