Plesk FTP Nutzer und Passwort auslesen

Wer viel mit seinem Plesk Server spielt (ja, ich mache sowas auch ab und an mal), benötigt desöfteren die Möglichkeit Benutzernamen und Passwörter seiner Zugänge sich anzeigen zu lassen. Bestes Beispiel für solch ein Szenario wäre ein Backupscript welches Webseiten, Datenbanken, FTP-Accounts, etc. sichert und dazu noch die Informationen aus der Datenbank zieht und sie in ein Dokument schreibt.

Ob das jemand macht bezweifel ich, aber die Möglichkeit gibt es. Mittels eines einfachen Befehl ist es möglich die Daten aus der Datenbank zu lesen:

Um nun loslegen zu können bedarf es einer SSH Verbindung zu deinem Plesk Server. Mittels ssh -l benutzername serveradresse erhälst Du den Zugriff über die Konsole auf deinen Server. Um die Datenbank nun abzufragen melde Dich als Nutzer/Adminstrator an deinem System an und gebe den Befehl ein:

1
mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa -e "select * from sys_users";

Jetzt erhälst Du eine Ausgabe, die so aussieht:

1
2
3
4
5
+----+---------------+----------------+------------------------+-------------+-------+
|  id  | login      | account_id | home                      | shell         | quota |
+----+---------------+----------------+------------------------+-------------+-------+
|  1   | username  |        1            | /pfad/zum/hosting | /bin/bash |   0     |
+----+---------------+----------------+------------------------+-------------+-------+

Jetzt müssen wir uns nur noch um das Passwort der ID 1 kümmern und das bekommen wir mit einer neuen Abfrage dann auch direkt in der Konsole präsentiert:

1
mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa -e "select * from accounts where id = 1";

Ausgabe sieht dann ungefähr so aus:

1
2
3
4
5
+----+-------+----------+
| id | type  | password |
+----+-------+----------+
|  1 | plain | p4ssw0rd |
+----+-------+----------+

Das war’s. 😉

17 Comments

  1. kannst die sql-abfragen auch noch verbinden, dann bekommst du alle nutzernamen mit dem passwort

    mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa -e „select login,password from sys_users,accounts where sys_users.id=accounts.id“;

  2. Ich frag mich grade ob man irgendwie ach das FTP Passwort von meinem Backup FTP-Repository Account herausfinden kann.

    Dummerweise kenn ich dieses nicht mehr und müsste wenn ich es ändere,
    das neue Passwort bei jedem Backup auf dem Server neu eintragen.

    Weiß da jemand vielleicht mehr?

  3. Glaube weniger, dass man Dir gestatten wird dort irgendwelche Kennwörter auslesen zu können. Bleibt wohl nur noch das Kennwort dort zu ändern und später irgendwo zu dokumentieren.

  4. Das ich es auf dem ftp nicht herausbekomme denk ich auch.Ich dachte nur, da es in plesk schon einige Mal eingerichtet wurde, müsste es irgendwo dort auf meinem Server gespeichert sein.

  5. Habe das ganze nochmal etwas verschönt.
    Nun wird die Domain inkl. Benutzername und Passwort ausgegeben. 😉

    mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa -e ’select domains.name,sys_users.login,password from sys_users left join accounts on (sys_users.account_id = accounts.id) left join domains on (sys_users.id = domains.id);‘

  6. siroques mit dein code bekomme ich fehler
    -bash: syntax error near unexpected token `(‚

    Adrian du bist echt Supper man. Das habe ich auch gesucht, fehlt nur noch datenbank.das hastdu auch beschtimmt ich suche weiter 😉

    LG

  7. Moin Kime,

    einfach nach dem Aufruf psa -e und am Ende das Hochkomma nochmal neu setzen.

    1
    2
    3
    4
    5
    mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa
    -e 'select domains.name,sys_users.login,password
    from sys_users left join accounts on
    (sys_users.account_id = accounts.id) left join
    domains on (sys_users.id = domains.id);'

    Dann klappt das auch 😉 Achja für den Aufruf benötigst Du Administrationsrechte (root).

  8. Da bei dem kombinierten SQL im Kommentar oberhalb noch Fehler bezüglich des Vertauschens von ID und Account_ID waren, hier eine korrekte Version:

    mysql -uadmin -p`cat /etc/psa/.psa.shadow` psa -e „select home,login,password from sys_users,accounts where sys_users.account_id=accounts.id“;

    Achtet drauf, dass die normalen doppelten Anführungsstriche um die SQL sind. Das Kommentarsystem macht da glaube ich ein bisschen was anderes draus.

  9. Ist es denn auch möglich per Befehl einen entsprechenden ftp login komplett zu löschen? Ich frage, da ich die bereits vorhandenen login Namen nicht verwenden kann, da diese bereits vorhanden sind.

    LG Tolga

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.