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

Смотреть с сюжетом видео

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

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

pluton 16.12.2010 21:59

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
#!/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/


Тэги: encryption gnucash openssl шифрование
+ 1 -
Похожие Поделиться

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

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

В хорошем качестве hd видео

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


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

Online video HD

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

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

Full HD video online

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

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

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