Видео ролики бесплатно онлайн

Смотреть зрелые видео

Официальный сайт ysaa 24/7/365

Смотреть видео бесплатно

16.12.10 21:59 pluton

How-to`sШифрование GnuCash файла

Привет всем.
Эта заметка о маленьком скрипте, который упрощает жизнь при работе с зашифрованным файлом GnuCash.

Недавно начал использовать GnuCash для ведения личных финансов, но программа не поддерживает шифрование файлов с данными. А бэкапить-то надо!
Поэтому я нашёл вот эту заметку http://welinux.ru/post/4205/ и решил сделать обёрточный bash скрипт для удобства. Вот исходник:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/bash
# This is a script to work with an encrypted gnucash file. It asks for the
# password, decrypts the file, runs gnucash, and encrypts it back. Logs and
# backups are shredded at the end.
# Author: pluton <[email protected]>
# Version: 0.9 (Thu Dec 16 2010)
# License: GNU GPL 3

CP=/bin/cp
KDIALOG=/usr/bin/kdialog
OPENSSL=/usr/bin/openssl
GNUCASH=/usr/bin/gnucash
SHRED=/bin/shred
BASENAME=/usr/bin/basename
CHMOD=/bin/chmod

FILE=~/your_encrypted_file
FILETMP="${FILE}.tmp"
TIMEOUT=2   # seconds
TITLE=$($BASENAME $0)

notify() {
    [ -n "$1" ] && text="$1" || text="?"
    $KDIALOG --passivepopup "$text" --title "$TITLE" $TIMEOUT
}

[ -e "$FILE" ] || { notify "File '$FILE' was not found"; exit 1; }

pass=$($KDIALOG --password "Enter the password /GC/")
[ "$pass" == "" ] && { notify "The password is empty"; exit 2; }

$OPENSSL enc -d -aes-256-cbc -k "$pass" -in "$FILE" -out "$FILETMP" || \
    { notify "The password seems to be wrong"; exit 3; }
$CHMOD go= "$FILETMP"
$CP -f "$FILE" "${FILE}.bkp"
$GNUCASH "$FILETMP"
$OPENSSL enc -e -aes-256-cbc -k "$pass" -in "$FILETMP" -out "$FILE" || \
    { notify "An error occured while encoding (code #$?)"; exit 4; }
unset pass
$SHRED -zun 2 "${FILETMP}"*
notify "Done"
 


Он использует команду openssl для шифрования/дешифрования файла. Скрипт спрашивает пароль, расшифровывает файл, запускает gnucash, после закрытия зашифровывает файл с тем же паролем, и потом затирает все логи и бэкапы от gnucash.
Я использую KDE4, поэтому скрипт запускает kdialog для считывания пароля и нотификации о результатах.

В общем, этот метод довольно хорош, хотя, пока пользователь работает в gnucash, кто-то может прочитать открытый файл. Чтобы немного уменьшить этот риск, на открытый файл делается "chmod go= file".

PS. Кто хочет, может прочитать приблизительно то же самое по-английски в моём блоге: http://pluton8.wordpress.com/2010/11/13/encryption-of-a-gnucash-file/



rb 17.12.10 01:32 # +6
Мне более удачным кажется вариант иметь зашифрованый файл, который примонтируется как диск и бекапится как один файл со всеми приватными данными пользователя. Инструкции в интернете, в т.ч. русскоязычном, не редкость.

Готовых линков нет под рукой, с телефона пишу.
digiwhite 17.12.10 06:43 # +0
У меня было нечто подобное, только я сначала упаковывал каталог с файлами gnu cash, затем удалял каталог и потом шифровал архив.

Посты Комментарии
Последние посты
    Посты Комментарии
    Последние комментарии
      Посты Комментарии
      Изменения
        Посты Комментарии Изменения Черновики Избранное
        Черновики (все)
          Посты Комментарии Изменения Черновики Избранное
          Избранное (всё)
            Посты Комментарии Изменения Черновики Избранное
            Лучшие блоги (все 153)
            Топ пользователей Топ блогов
            Топ пользователей Топ блогов
            Элита (все 3080 из 227 городов)
            Топ пользователей Топ блогов
            welinux.ru

            Смотреть видео онлайн

            Онлайн видео бесплатно


            Смотреть русское с разговорами видео

            Online video HD

            Видео скачать на телефон

            Русские фильмы бесплатно

            Full HD video online

            Смотреть видео онлайн

            Смотреть HD видео бесплатно

            School смотреть онлайн