OpenVPN: auth-user-pass funktioniert nicht

  • Hallo Leute,


    ich schlage gleich auf den Monitor ein:
    Mein openVPN-Server weigert sich scheinbar beharrlich, die Variablen "username" und "password" an das unter auth-user-pass-verify genannte Script weiterzugeben.


    Die Script-Security habe ich bereits auf 3 gesetzt.


    Und ich kann machen, was ich will: Es wird schlicht nichts übergeben. Das habe ich per bash-Script und PHP überprüft.


    Meine server.conf:

    Mit der 10.0.0.x.auth möchte ich gerne bei PHP bleiben und mySQL-Abfragen nutzen. Ich fragte dort nach $_ENV['username'] und $_ENV['password'] und versuchsweise auch nach $argv:

    Die Ausgabe ist:

    Code
    Array
    (
    )
    Array
    (
        [0] => /etc/openvpn/10.0.1.x.auth
        [1] =>
    )

    Es wird scheinbar exakt nichts übergeben.


    Auch mit bash-Scripts wurde ich nicht glücklich. So liefert folgendes Script, welches direkt von der Quelle stammt, ebenfalls grundsätzlich einen Exitstatus 1 aus:

    Kann mir wer da einen Tipp geben?


    Vielen Dank!
    Artimis








    EDIT:
    Hm, anscheinend wird da doch etwas übergeben.
    Das neue PHP-Script ist schlicht

    Und das liefert:

    So, und jetzt eine DAU-Frage:
    Wie komme ich da ran? :D




    EDIT 2:
    Ich check es nicht. Die Variablen sind in der Environment. Die Environment-Variablen lassen sich durch das Array $_ENV aufrufen oder durch getenv().
    Also frage ich an:

    .
    Das liefert mir:

    Code
    PHP Notice:  Undefined index: username in /etc/openvpn/10.0.1.x.auth on line 3
    PHP Notice:  Undefined index: username in /etc/openvpn/10.0.1.x.auth on line 4
    PHP Notice:  Undefined index: username in /etc/openvpn/10.0.1.x.auth on line 5


    Frage ich hingegen so, klappts:

    Ich will lieber nicht wissen, wieso das so ist... -.-

    Mein Server:
    v(olks)Server 1. Serie: 2,5GHz, 1024MB RAM, 1024MB Swap, 2x60GB-Raid1-HDD, Traffic-Flat
    Node:
    78.46.117.9x | hos-tr2.ex3k4.rz7.hetzner.de

  • OK, sorry Leute, es hat sich erledigt.


    Fragt mich nicht, warum das Bash-Script nicht funktioniert und warum sich $_ENV['wert'] und getenv('wert') unterscheiden. Es ist einfach so.


    Mit getenv('wert') funktioniert es jedenfalls und mehr will ich nicht.

    Mein Server:
    v(olks)Server 1. Serie: 2,5GHz, 1024MB RAM, 1024MB Swap, 2x60GB-Raid1-HDD, Traffic-Flat
    Node:
    78.46.117.9x | hos-tr2.ex3k4.rz7.hetzner.de

  • Zitat von Artimis;24068

    warum sich $_ENV['wert'] und getenv('wert') unterscheiden


    Sind sie in $_SERVER auch nicht enthalten? Vielleicht stimmt auch einfach die Einstellung variables_order nicht?



    MfG Christian

    "Wer nur noch Enten sieht, hat die Kontrolle über seine Server verloren." (Netzentenfund)

  • Hm, stimmt, das könnte gut angehen. Zumindest sind die anderen Variablen auf phpinfo(18) enthalten.
    Naja, zu spät. Ich arbeite nun mit getenv() und ärgere mich mit dem learn-address-Script rum, was wieder nicht funktionieren will, sondern mit die Shell mit Fehlermeldungen vollballert, obwohl das Script ausführbar ist, einwandfrei funzt und mit exit(0) abeschließt...

    Mein Server:
    v(olks)Server 1. Serie: 2,5GHz, 1024MB RAM, 1024MB Swap, 2x60GB-Raid1-HDD, Traffic-Flat
    Node:
    78.46.117.9x | hos-tr2.ex3k4.rz7.hetzner.de