Назад | Перейти на главную страницу

Какие символы недопустимы в пароле в ssmtp.conf?

Я запускаю Ubuntu Server 16.04 с пакетом ssmtp для sendmail. Я читал из разнообразие из места что вы не можете использовать «специальные» символы в пароле, и я обнаружил, что это правда, что я не могу убежать или процитировать пароль. Мне удалось проверить работоспособность только буквенно-цифровых паролей в ssmtp.conf, но я нигде не могу найти это документально. У меня вопрос, какие символы разрешены / запрещены в пароле?

В качестве альтернативы, есть ли другой метод побега? Я пробовал использовать обратную косую черту, одинарные и двойные кавычки, но безрезультатно.

Спасибо

Похоже, в списке есть ряд выдающихся ошибок. Вот что касается проблемных персонажей в AuthPass директива:

  • отчет об ошибке 768129: символ решетки / фунта #
  • отчет об ошибке 463196: равные знак равно и толстая кишка : персонажи

и я не знаю, относится ли это конкретно к ssmtp, но обычно плохие символы для использования в паролях - это пробелы, расширенный ASCII: è é ê ë и т. д. и UNICODE. Придерживаться a-z A-Z 0-9 .- и делать пароли длиннее, чем сложнее.

Глядя на read_config() метод на строка 883 текущего BLOB-объекта af4d1e58d28fa9450bfc6a80fbacc75ca28c2220 выглядит как знак равенства = или знак фунта решетки # заставит его молча продолжить и пропустить анализ этой строки файла конфигурации.

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

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

Я все же хотел бы получить авторитетный ответ по этому поводу или исчерпывающую ссылку на документацию.

Вы можете использовать следующий обходной путь:

  • введите пароль прямо в аргумент командной строки
ssmtp -ap "Hash#Password" ...
  • в качестве альтернативы поместите пароль в переменную окружения.
ssmtp -ap $PASSWD ...

Надеюсь, это помогло.