Зашифруйте пароль OfflineIMAP

Существует три вида ISOs: Сначала DVD-ISO, который является самым подходящим для Вас, я думаю. Затем существует ряд образов CD, которые только имеют смысл загружать, если Вы нуждаетесь в физических дисках, но не имеете средства записи DVD и в-третьих netinstall ISO, который Вы, кажется, загрузили. Для нахождения зеркала, которое имеет DVD isos непосредственно доступный для скачивания взгляните на http://www.centos.org/modules/tinycontent/index.php?id=30

Монтаж сети означает, что на ISO только установщик включен и все пакеты, которые будут установленными, загружаются с сети во время установки. Если бы у Вас есть небольшой опыт с Linux, самое легкое должно было бы получить ISO DVD. С ним установка довольно легка. Затем, конечно, techotopia.com-ссылка больше не применяется, поскольку это только объясняет сетевую установку.

При необходимости в инструкции по установке (снова при использовании графического установщика, это довольно самообъяснимо), Вы могли бы взглянуть на официальное руководство для 5,2. Процесс установки 5,5 должен быть идентичен 5,2. См. http://www.centos.org/docs/5/html/5.2/Installation_Guide/

Наконец, если Вы сталкиваетесь с проблемами и нуждаетесь в живой, интерактивной помощи, Вы могли бы попробовать #centos канал в freenode IRC. Если можно ожидать несколько минут, конечно, лучше спросить здесь.

19
23.07.2016, 02:48
4 ответа

Другой метод отъезда offlineimap работающий со знанием Вашего пароля, но не помещая пароль на диск, должен оставить offlineimap, работающий в tmux/screen с autorefresh установка включила в Вашем ~/.offlineimaprc

Необходимо добавить autorefresh = 10 к [Account X] раздел offlineimaprc файла, чтобы заставить это проверять каждые 10 минут. Также удалите любую строку конфигурации с password или passwordeval.

Затем выполненный offlineimap - это будет просить Ваш пароль и кэшировать его в памяти. Это не выйдет после первого показа, но будет спать в течение 10 минут. Затем это будет просыпаться и работать снова, но это будет все еще помнить Ваш пароль.

Таким образом, можно оставить tmux сессию, работающую с offlineimap, ввести пароль однажды, и offlineimap будет прекрасен там после.

6
27.01.2020, 19:44

Я использую следующий метод, который работает довольно хорошо:

1) Сохраните свои пароли в отдельных gpg зашифрованных файлах. Например, ~/.passwd/<accountname>.gpg

2) Создайте файл расширения Python с названием Вашего выбора (например, ~/.offlineimap.py), со следующим содержанием:

def mailpasswd(acct):
  acct = os.path.basename(acct)
  path = "/home/<username>/.passwd/%s.gpg" % acct
  args = ["gpg", "--use-agent", "--quiet", "--batch", "-d", path]
  try:
    return subprocess.check_output(args).strip()
  except subprocess.CalledProcessError:
    return ""

3) Измените свой .offlineimaprc файл, чтобы сказать это о файле Python и сказать это, как считать Ваши пароли

[general]
pythonfile = ~/.offlineimap.py
# ...

[Repository <reponame>]
# add this line for each remote repository
remotepasseval = mailpasswd("<accountname>")

Если у Вас будет несколько учетных записей, которые проверяются одновременно (отдельные потоки), и Вы используете gpg-агент, то он попросит Вас у пароля для каждой учетной записи. Я главный агент путем создания файла (echo "prime" | gpg -e -r foo@bar.com > ~/.passwd/prime.gpg), и воспламенение gpg агент путем дешифрования этого файла на запуске offlineimap. Чтобы сделать это, добавьте следующее в конец ~/.offlineimap.py:

def prime_gpg_agent():
  ret = False
  i = 1
  while not ret:
    ret = (mailpasswd("prime") == "prime")
    if i > 2:
      from offlineimap.ui import getglobalui
      sys.stderr.write("Error reading in passwords. Terminating.\n")
      getglobalui().terminate()
    i += 1
  return ret

prime_gpg_agent()
29
27.01.2020, 19:44
  • 1
    Этот ответ работает действительно хорошо. Просто удостоверьтесь, что Вы используете полные пути, или команда подпроцесса не найдет зашифрованные файлы. –  Clément B. 27.02.2013, 12:42

Любовь ответа от @kbeta. Однако subprocess.check_output() был только представлен в python 2.7 - таким образом, вот версия offlineimap.py это будет работать с более старыми версиями Python:

import os
import subprocess

def mailpasswd(acct):
    acct = os.path.basename(acct)
    path = "/home/hamish/.passwd/%s.gpg" % acct
    args = ["gpg", "--use-agent", "--quiet", "--batch", "-d", path]
    proc = subprocess.Popen(args, stdout=subprocess.PIPE)
    output = proc.communicate()[0].strip()
    retcode = proc.wait()
    if retcode == 0:
        return output
    else:
        return ''
4
27.01.2020, 19:44

В вики ArchLinux есть полезная информация .

Мне удалось сохранить пароль к кошельку KDE, следуя этому руководству .

~/offlineimaprc

[general]
accounts = main
pythonfile = ~/offlineimap.py

[Account main]
# Identifier for the local repository; e.g. the maildir to be synced via IMAP.
localrepository = main-local
# Identifier for the remote repository; i.e. the actual IMAP, usually non-local.
remoterepository = main-remote

[Repository main-local]
# OfflineIMAP supports Maildir, GmailMaildir, and IMAP for local repositories.
type = Maildir
# Where should the mail be placed?
localfolders = ~/imap-backup

[Repository main-remote]
type = IMAP
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
remotehost = my.host
remoteuser = my.user
remotepasseval = get_password()

~/offlineimap.py

#! /usr/bin/env python2
from subprocess import check_output

def get_password():
    return check_output('qdbus org.kde.kwalletd5 /modules/kwalletd5 readPassword "$(qdbus org.kde.kwalletd5 /modules/kwalletd5 org.kde.KWallet.open kdewallet 0 "kde-service-menu-nowardev-scanner")" "imap" "akonadi_imap_resource_0rc" "kde-service-menu-nowardev-scanner"', shell=True).splitlines()[0]
0
03.10.2020, 17:09

Теги

Похожие вопросы