Welche Zeichen sind im Passwort in ssmtp.conf unzulässig?

Welche Zeichen sind im Passwort in ssmtp.conf unzulässig?

Ich verwende Ubuntu Server 16.04 mit dem ssmtp-Paket für sendmail. Ich habe gelesen von einemVielfaltvonsetztdass Sie im Passwort keine „Sonderzeichen“ verwenden können, und ich habe festgestellt, dass es stimmt, dass ich das Passwort weder maskieren noch in Anführungszeichen setzen kann. Ich konnte nur überprüfen, ob alphanumerische Passwörter in ssmtp.conf funktionieren, aber ich kann dies nirgendwo dokumentiert finden. Meine Frage ist, welche Zeichen für ein Passwort erlaubt/verboten sind?

Gibt es alternativ eine andere Methode zum Escapen? Ich habe Backslash, einfache und doppelte Anführungszeichen ohne Erfolg ausprobiert.

Danke

Antwort1

Es scheint eine Reihe von offenen Fehlern aufgelistet zu seinHierin Bezug auf problematische Zeichen in der AuthPassRichtlinie:

  • Fehlerbericht768129: das Raute-/Kreuzzeichen#
  • Fehlerbericht463196: die Gleichheitszeichen =und der :Doppelpunkt

und ich weiß nicht, ob das speziell bei SSMTp der Fall ist, aber generell sind Leerzeichen, erweiterter ASCII-Code: è é ê ë usw. und UNICODE schlechte Zeichen für Passwörter. Bleiben Sie dabei a-z A-Z 0-9 .-und machen Sie Passwörter länger, statt sie komplexer zu machen.

Antwort2

Betrachtet man die read_config()Methode aufLinie 883des aktuellen Blobs af4d1e58d28fa9450bfc6a80fbacc75ca28c2220 sieht es so aus, als ob ein Gleichheitszeichen =oder ein Rautezeichen #dazu führen würde, dass es stillschweigend fortfährt und das Parsen dieser Zeile der Konfigurationsdatei überspringt.

    /* Make comments invisible */
    if((p = strchr(buf, '#'))) {
        *p = (char)NULL;
    }

    /* Ignore malformed lines and comments */
    if(strchr(buf, '=') == (char *)NULL) continue;

Ich würde dennoch gerne eine fundierte Antwort zu diesem Thema oder einen eindeutigen Verweis auf die Dokumentation sehen.

Antwort3

Sie können die folgende Problemumgehung verwenden:

  • Geben Sie das Passwort direkt in das Kommandozeilenargument ein.
ssmtp -ap "Hash#Password" ...
  • Alternativ können Sie das Passwort in einer Umgebungsvariable ablegen.
ssmtp -ap $PASSWD ...

Hoffe, es hat geholfen.

verwandte Informationen