Hallo,
folgende Struktur ist vorgegeben: zentrale DB mit bis zu mehreren tausend FTP-Usern. Dazu eine gewisse Anzahl von Servern, auf denen ProFTPd (+mod_sql) läuft. Die User in der DB sollen natürlich NICHT auf alle Server zugreifen, sondern nur auf einen spezifischen.
In der ftp_user Tabelle ist dazu ein Feld mit der IP des erlaubten Servers.
Ich habe jetzt folgendes versucht:
SQLUserWhereClause "login_enabled = 'Y' AND Server_IP = '%L'"
Leider löst es %L (normalerweise die IP des aktuellen FTP-Server(?)) nicht auf, das SQL-Log:
query "SELECT username, password, uid, gid, homedir, shell FROM ftp_users WHERE (username='test_123') and ((login_enabled = 'Y' AND Server_IP = '%L')) LIMIT 1"
Wie kann ich die SQLUserWhereClause so erweitern, dass die IP-Adresse des momentanen Server an die DB übertragen wird? (Das hardcodieren der IP-adresse ist keine Option, da alle FTP-Server eine identische Konfiguration besitzen müssen) Oder gibt es andere Wege, das gewünschte Verhalten zu erreichen.
Vielen Dank für eure Ideen - falls jemand eine hat