Para apenas um arquivo de cada vez, ou o arquivo muito ocasional, eu acho que uma unidade criptografada inteira ou home com EncFS / eCryptFS / dm-crypt / LUKS seria um exagero (mas funcionaria excelente em caso de roubo).
Uma solução usando uma função bash para descriptografar, editar, criptografar novamente sons mais parecidos com o que você está procurando. Usando gpg
desde que ele é instalado por padrão em quase todos os linux que eu já vi, e existe há décadas & deve ser por décadas mais parece adequado para arquivos de longo prazo. Algo como isso pode ser colocado em um arquivo .bashrc
& usado em um terminal, ou incorporado no menu "clique com botão direito" do gerenciador de arquivos, deve funcionar também (não estou familiarizado o suficiente com o KDE para fazer isso, mas se você estiver, não deve ser muito difícil).
Essas pequenas funções rápidas receberão o primeiro argumento $1
como um nome de arquivo para decriptografar para /tmp/gpg-edit.out
(pode usar um tmpfs / ramdisk para melhor segurança), editar com gedit
(ou seu editor favorito) e re - Criptografar o arquivo quando terminar de editar. Eles usam um "arquivo de frase secreta", onde apenas a primeira linha é lida & usado como uma senha, por isso deve ser mantido em algum lugar seguro (tmpfs / ramdisk, talvez), mas você pode omitir que & gpg
pediria a senha toda vez.
edit-gpg() {
gpg -v --no-use-agent --passphrase-file=/path/to/keyfile --output "/tmp/gpg-edit.out" "$1" &&
gedit "/tmp/gpg-edit.out" &&
gpg -v --no-use-agent --cipher-algo AES256 --passphrase-file=/path/to/keyfile --output "$1" -c "/tmp/gpg-edit.out" &&
rm "/tmp/gpg-edit.out"
}
Tarefas futuras incluirão uma verificação se o arquivo "/tmp/gpg-edit.out" já existir (agora gpg
pedirá para sobrescrever se isso acontecer).
Ou use um arquivo de saída aleatório para poder editar vários arquivos de uma só vez. Por enquanto, é um de cada vez.
Omitir --no-use-agent
deve fazer com que use a caixa de entrada da senha do GUI do gpg, mas da última vez que eu deixei a opção sempre usar a caixa GUI e ignorar o --passphrase-file
opção.
Outra função curta pode criptografar inicialmente um arquivo com o mesmo arquivo de frase secreta:
crypt-gpg() {
gpg -v --no-use-agent --cipher-algo AES256 --passphrase-file=/path/to/keyfile -c "$1" &&
rm "$1"
}