Homepage | Products | OX Knowledge Base | Support | Try Now | Contact | Company
OX Logo
Results 1 to 7 of 7
  1. #1
    Join Date
    Jan 2008
    Posts
    140

    Default pwchange external - neue Passwort wird nicht übergeben ?!

    Hallo,

    ich bin dabei die Erweiterung zur externen Passwortänderung zu installieren.
    Als Grundlage habe http://oxpedia.org/index.php?title=C...sswordExternal
    genommen.
    Nachdem ich mit
    zypper install open-xchange-passwordchange-servlet
    nachinstalliert habe, kann ich mein Script auch ausführen ...
    Da ich zum testen erstmal sehen wollte, was kommt, habe ich folgende
    bash script eingefügt:

    ----------------
    #!/bin/bash
    date >> /tmp/PW.log
    echo "Parameter "$1 $2 $3 $4 $5 $6 $7 $8 $9 $10 $11 $12 >> /tmp/PW.log
    echo " " >> /tmp/PW.log
    exit 0
    -----------------

    Und das kommt raus

    Wed Sep 22 09:54:23 CEST 2010
    Parameter --cid X --username XX --userid XXX --oldpassword XXXX --newpassword --cid0 --cid1 --cid2

    D.h. Context ID kommt an, USERNAME, UID und das alte pw, aber nicht das neue!
    Da wir samba als PDC (gegen LDAP) verwenden, wollte ich eigentlich nur smbpasswd
    im script verwenden. Aber wo ist das neue PW ?

    Oder habe ich da etwas missverstanden ?

  2. #2
    Join Date
    Oct 2007
    Location
    Germany, Essen
    Posts
    171

    Default

    Hi,

    eigentlich sollten die Parameter wie folgt übergeben werden:

    An Stelle

    0
    1 die cid des users,
    2
    3 der username des users,
    4
    5 die userid des users,
    6
    7 das alte Passwort des Users,
    8
    9 das neue Passwort des Users,

    Zumindest bei mir kann ich so die Daten abgreifen und weiter verarbeiten.

    MfG

    outlow

  3. #3
    Join Date
    Jan 2008
    Posts
    140

    Default

    Hallo,

    ich benutze folgendes Script ohne Erfolg:

    #!/usr/bin/expect -f
    set USER [lindex $argv 5]
    set OLDPW [lindex $argv 7]
    set PASSWD [lindex $argv 9]
    stty -echo
    spawn -noecho smbpasswd -r DOMAINCONTROLLER -U $USER

    expect {
    "Old SMB password:" {
    sleep 0.5
    send "$OLDPW\r"
    exp_continue
    }
    "New SMB password:" {
    sleep 0.5
    send "$PASSWD\r"
    exp_continue
    }
    "Retype new SMB password:" {
    sleep 0.5
    send "$PASSWD\r"
    exp_continue
    }
    {
    exit 0
    }
    }

    -------

    Übergebe ich die Parameter direkt auf der Kommandozeile geht alles.
    Fehlermeldung I/O-Fehler (SRV-0002,-564707210-19)

  4. #4
    Join Date
    Jan 2008
    Posts
    140

    Default

    Sep 24, 2010 11:33:31 AM com.openexchange.passwordchange.script.impl.Script PasswordChange update
    SEVERE: Passwordchange script returned exit code != 0
    Sep 24, 2010 11:33:31 AM com.openexchange.passwordchange.servlet.PasswordCh angeServlet actionPutUpdate
    SEVERE: SRV-0002 Category=8 Message=An I/O error occurred exceptionID=-1816622180-7
    Throwable occurred: SRV-0002 Category=8 Message=An I/O error occurred exceptionID=-1816622180-7
    at com.openexchange.passwordchange.script.impl.Script PasswordChange.update(ScriptPasswordChange.java:15 1)
    at com.openexchange.passwordchange.PasswordChangeServ ice.perform(PasswordChangeService.java:103)
    at com.openexchange.passwordchange.servlet.PasswordCh angeServlet.actionPutUpdate(PasswordChangeServlet. java:207)
    at com.openexchange.passwordchange.servlet.PasswordCh angeServlet.actionPut(PasswordChangeServlet.java:1 63)
    at com.openexchange.passwordchange.servlet.PasswordCh angeServlet.doPut(PasswordChangeServlet.java:127)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:619)
    at com.openexchange.ajax.AJAXServlet.service(AJAXServ let.java:392)
    at com.openexchange.ajax.SessionServlet.service(Sessi onServlet.java:174)
    at javax.servlet.http.HttpServlet.service(HttpServlet .java:689)
    at com.openexchange.ajp13.najp.AJPv13RequestHandlerIm pl.doServletService(AJPv13RequestHandlerImpl.java: 504)
    at com.openexchange.ajp13.AJPv13Request.response(AJPv 13Request.java:129)
    at com.openexchange.ajp13.najp.AJPv13RequestHandlerIm pl.createResponse(AJPv13RequestHandlerImpl.java:31 6)
    at com.openexchange.ajp13.najp.AJPv13ConnectionImpl.c reateResponse(AJPv13ConnectionImpl.java:207)
    at com.openexchange.ajp13.najp.AJPv13Task.call(AJPv13 Task.java:346)
    at java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:315)
    at java.util.concurrent.FutureTask.run(FutureTask.jav a:150)
    at com.openexchange.threadpool.internal.CustomThreadP oolExecutor$Worker.runTask(CustomThreadPoolExecuto r.java:738)
    at com.openexchange.threadpool.internal.CustomThreadP oolExecutor$Worker.run(CustomThreadPoolExecutor.ja va:764)
    at java.lang.Thread.run(Thread.java:736)
    Caused by: SRV-0002 Category=8 Message=An I/O error occurred exceptionID=-1816622180-6
    ... 19 more

    --------
    Auf dem PDC kommt KEINE Anfrage an.
    Rufe ich das script wie folgt auf
    /opt/tools/bin/ox_change_pw.sh aa bb cc dd ee ff gg hh ii jj
    bekomme ich auf dem PDC
    [2010/09/23 16:02:15, 2] lib/smbldap.c:smbldap_open_connection(800)
    smbldap_open_connection: connection opened
    [2010/09/23 16:02:15, 2] auth/auth.c:check_ntlm_password(318)
    check_ntlm_password: Authentication for user [ff] -> [ff] FAILED with error NT_STATUS_NO_SUCH_USER


    Nur gegen LDAP das PW zu ändern ist keine Lösung, da dann das Windoff PW nicht angepasst wird.
    smbpasswd macht beides.

    Ciao

  5. #5
    Join Date
    Oct 2007
    Location
    Germany, Essen
    Posts
    171

    Default

    wie sind den die auführungsrechte für die datei?

    darf der open-xchange benutzer die datei ausführen?

    Der E/A Fehler ist der Standard Fehler des Bündels diesen bekommst du immer angezeigt wenn der Rückgabe Wert des Scriptes nicht "0" ist.

    also bei Script abbruch etc.

    mfg

    outlow

  6. #6
    Join Date
    Jan 2008
    Posts
    140

    Default

    Rechte sind 755.
    Hab es auf der cli getestet, da bekam ich zumindest immer einen Eintrag beim PDC ...

  7. #7
    Join Date
    Oct 2007
    Location
    Germany, Essen
    Posts
    171

    Default

    und wenn du erst einmal nur ein script schreibst welches die parameter entgegen nimmt und in ein Logfile einträgt?

    Zum einen sehen wir dann ob die durch dich eingegebenen Parameter in der OX Oberfläche zum Passwortchange auch die sind die du Logst, zum anderen sollte dies bei erfolg ja dann auch entsprechend eine Erfolgsmeldung im OX auslösen.

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •